Anroid 常用控件(三)

图片框(ImageView)

<1>常用属性:

android:src 设置ImageView所显示的Drawable资源的Id

android:maxHeight 最大高度

android:maxWidth 最大宽度

android:adjustViewBounds 设置Imageview是否调整自己的大小保持所显示图片的长宽比

android:scaleType 设置图片如何缩放以适应ImageView的大小

取值:

matrix 使用矩阵的方式缩放

fitXY 对图片横向纵向独立缩放,使得图片完全填充ImageView,可能会变形

fitStart 保持长宽比,图片较长的边与ImageView对应边一致,然后放在左上角

fitCenter 保持缩放比,图片较长的边与ImageView对应边一致,然后放在中间

fitEnd 保持缩放比,图片较长的边与ImageView对应边一致,然后放在右下角

center 图片放在中间,不缩放

centerCrop 保持纵横比缩放,使得图片能完全覆盖ImageView

centerInside 保持纵横比缩放,使得ImageView能完全显示图片


显示大图片:BitmapFactory.decodeFile(String pathName,Options opts);


从原有的图片中截取一部分作为新的图片

Bitmap  newImage=Bitmap.createBitmap(oldImage,(int)rx,(int)ry,50,50);

第一个参数是原图片

第二个参数是从哪个坐标开始截取

第四、五个参数是截取多宽,多高。

代码示例:

        //给图片控件设置触摸事件
        iv_image_image.setOnTouchListener(new View.OnTouchListener(){
            @Override
            public boolean onTouch(View v, MotionEvent motionEvent) {
               //获取整个控件的高和宽
                height=iv_image_image.getHeight();
                width=iv_image_image.getWidth();
                //获取图片的高和宽
               imageHeight=bm.getHeight();
               imageWidth=bm.getWidth();

                //获取触摸的坐标
               float x=motionEvent.getX();
                float y=motionEvent.getY();
                //缩放比
                double bi1=x*imageHeight/height;
                double bi2=y*imageWidth/width;

                if(bi1>imageWidth-50){
                    bi1-=50;
                }
                if(bi2>imageHeight-50){
                    bi2-=50;
                }
                //截取
               Bitmap bmNew=Bitmap.createBitmap(bm,(int) bi1,(int) bi2,50,50);
                iv_image_new.setImageBitmap(bmNew);
                return true;
            }
        });





SD文件的读取

Environment类可以得到当前手机的一些信息,包括存储卡的信息

    判断SD卡是否存在

if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

//你的手机不支持SD扩展

}


得到存储卡的位置

Environment.getExternalStorageDirectory.getAbsolutePath()


代码示例:

//判断 手机是否有内存卡  内存卡是否可用
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            //获取手机内存卡路径
            String sdCardPath=Environment.getExternalStorageDirectory().getAbsolutePath();
            //获取手机内存卡目录中的图片
            File file=new File(sdCardPath+"/images");
            files=file.listFiles();
        }












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值