求大神解答问题。一个很简单的相应问题,困扰很久了拜托了。
这是我目前弄得一个Android的东西 我希望的是点击按钮 可以让ic_launcher图片变大和缩小。我把图片那个设置成参数了,但是不知道怎么做响应才好,我是一个刚刚接触的菜鸟 希望各位大神帮帮忙。为了让图片 自由变大变小,我没有在XML里面写静态的控件,动态的我又不怎么会,因为的JAVA基础不是很好。 我的QQ:604628256 谢谢!下面是代码
package com.example.text;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
/**
* Android实现图片缩放与旋转。
* @author Administrator
*
*/
public class MainActivity extends Activity {
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setTitle("Android实现图片缩放与旋转。");
LinearLayout lineLayout = new LinearLayout(this);
//加载需要操作的图片,这里是一张图片
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);
lineLayout.addView(resize(bitmapOrg,2,2,0),
new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)
);
Button button = new Button(this);
button.setText("缩放");
lineLayout.addView(button,
new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
// 设置为本activity的模板
setContentView(lineLayout);
}
OnClickListener listen1;
public void onCreate1(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
final LinearLayout layout2=new LinearLayout(this);
layout2.setOrientation(LinearLayout.VERTICAL);
Button btn1=new Button(this);
setContentView(layout2);
Button btn2=new Button(this);
btn1.setText("Button1");
btn2.setText("Button2");
layout2.addView(btn1);
layout2.addView(btn2);
listen1 = new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
};
btn1.setOnClickListener((android.view.View.OnClickListener) listen1);
}
public ImageView resize(Bitmap bitmapOrg, float scaleWidth, float scaleHeight, int rotation)
{
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
// 缩放图片动作
matrix.postScale(scaleWidth, scaleHeight);
//旋转图片 动作
matrix.postRotate(rotation);
// 创建新的图片
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
bitmapOrg.getWidth(), bitmapOrg.getHeight(), matrix, true);
//创建一个ImageView
ImageView imageView = new ImageView(this);
// 设置ImageView的图片为上面转换的图片
// imageView.setImageDrawable(bmd);
imageView.setImageBitmap(resizedBitmap); //②
//将图片居中显示
imageView.setScaleType(ScaleType.CENTER);
return imageView;
}
}