mageView图片框
mageView的ScaleType属性 有: matrix使用矩阵的方式缩放 fitxy 对图片独立横向缩放 使得图片完全填充
mageView
fitstart 保持长款比 图片较长的边 与
mageView对应的边一致,然后放在左上角
fitcenter 保持长宽比图片的边与对应的边一致然后放在中间
fitend 保持缩放比图片较长的边与对应的边一致然后放在右下角
center 图片放中间 不缩放
center corp 保持纵横比不缩放 使得图片完全覆盖
mageView
centerinside 保持纵横比缩放 使得
mageView完全显示图片
给图片设透明度
int currentAlpha=255;//默认的值
操作图片下一张与上一张
public class ImageActivity extends AppCompatActivity {
//Ctrl+Alt+F
private ImageView iv_image_image;//全局变量
private int images[]={R.drawable.s1,//放图片的数组
R.drawable.s2,
R.drawable.s3,
R.drawable.s4,
R.drawable.s5
};
int currentIndex=0;//当前图片的个数
int currentAlpha=255;//设置图片的透明度
private File[] files;
private Bitmap bm;
private ImageView iv_image_new;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
iv_image_image = (ImageView) findViewById(R.id.iv_image_image);//获取控件
iv_image_new = (ImageView) findViewById(R.id.iv_image_new);
public void before(View view){
currentIndex--;
if(currentIndex<0){ //图片不能为负数
currentIndex=0;
Toast.makeText(ImageActivity.this, "兄弟,没得选了", Toast.LENGTH_SHORT).show();
}
//iv_image_image.setImageResource(images[currentIndex]);
bm= BitmapFactory.decodeFile(files[currentIndex].getAbsolutePath());//放第一张图片
iv_image_image.setImageBitmap(bm); //将图片放进图片框
}
public void next(View view){
currentIndex++;
if(currentIndex>=images.length){ //如果当前的图片大于数组的长度图片减一
currentIndex=images.length-1;
Toast.makeText(ImageActivity.this, "兄弟,没得选了", Toast.LENGTH_SHORT).show();
}
//iv_image_image.setImageResource(images[currentIndex]);
bm= BitmapFactory.decodeFile(files[currentIndex].getAbsolutePath());
iv_image_image.setImageBitmap(bm);
}
public void add(View view){
currentAlpha-=20;//透明度
if(currentAlpha<=0){
currentAlpha=0;
Toast.makeText(ImageActivity.this, "看不见了", Toast.LENGTH_SHORT).show();
}
iv_image_image.setImageAlpha(currentAlpha);
}
public void sub(View view){
currentAlpha+=20;
if(currentAlpha>=255){/如果图片的透明度大于默认值时候透明值就等于255
currentAlpha=255;
Toast.makeText(ImageActivity.this, "都给你了", Toast.LENGTH_SHORT).show();
}
iv_image_image.setImageAlpha(currentAlpha);
}
如何获取 SD卡的图片
//判断 手机是否有内存卡 内存卡是否可用
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//获取手机内存卡路径
String sdCardPath=Environment.getExternalStorageDirectory().getAbsolutePath();
//获取手机内存卡目录中的图片
File file=new File(sdCardPath+"/images");
files = file.listFiles();
}
如何给图片局部放大
//给图片控件设置触摸事件 iv_image_image.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { //获取触摸的坐标 float x=motionEvent.getX(); float y=motionEvent.getY(); //截取 Bitmap bmNew=Bitmap.createBitmap(bm,(int)x,(int)y,50,50); iv_image_new.setImageBitmap(bmNew); return true; } });