Anroid 常用控件(三)

来源:互联网 发布:政务系统源码 编辑:程序博客网 时间:2024/06/07 16:00

图片框(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();        }












原创粉丝点击