Android控件5

xiaoxiao2021-02-28  118

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;             }         });

转载请注明原文地址: https://www.6miu.com/read-66373.html

最新回复(0)