android之ImageView
来源:互联网 发布:netstat linux 编辑:程序博客网 时间:2024/05/22 01:27
先说两个过时的方法setBackgroundDrawable和context.getResources().getDrawable(int resId)。
第一个替代方法是setBackground和setImageDrawable。
第二个替代方法是ContextCompat.getDrawable(context, drawableID)。
ImageView可以在xml和代码里设置ScaleType的类型。
1.ImageVIew缩放。
这里先用到一个LinearLayout.LayoutParams类。官方介绍的是用来处理LinearLayout子布局的信息。用这个类来设置ImageView的宽高。
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(int Width, int Height);
然后在调用imageView.setLayoutParams(layoutParams);即可设置ImageView的宽高。
注意:这里的宽高最好不要超过屏幕的尺度。这里可以如下设置。
DisplayMetrics类是用来描述信息,大小,字体等信息的类。这里需要用到。
DisplayMetrics displayMetrics = new DisplayMetrics();
然后初始化displayMetrics对象,有点不一样。
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
displayMetrics.widthPixels和displayMetrics.heightPixels是屏幕像素的绝对宽度。ImageView的宽高不要大于这个值。
2.ImageView旋转。
//图片旋转,导入包要看好啊,android.graphics.Matrixvoid rotateImage(ImageView imageView, int resId, int rotate) { Bitmap bitmap = ((BitmapDrawable) ContextCompat.getDrawable(context, resId)).getBitmap(); Matrix matrix = new Matrix(); matrix.setRotate(rotate); bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); imageView.setImageBitmap(bitmap);}这里先用bitmap加载drawable,方法BitmapDwawable.getBitmap()。然后是Matric类,必须使用reset(),setTranslate(),setRotate()其中一个方法来初始化。这里初始化成setRotate(),意指旋转类型,参数是旋转角度。然后再通过原先的bitmap和旋转矩阵构造一个新的bitmap。最后imageView.setImageBitmap(bitmap);即可产生旋转效果。
- android之ImageView
- Android之ImageView
- android之ImageView
- Android之ImageView
- Android 之 ImageView 示例
- android控件之imageView
- android之ImageView .
- Android之ImageButton、ImageView
- Android复习之ImageView
- android之ImageView
- Android UI之ImageView
- Android--UI之ImageView
- Android控件之ImageView
- Android控件之ImageView
- android之ImageView
- Android控件之ImageView
- Android控件之ImageView
- Android 之 ImageView修剪
- http简介
- swift 2.0 值类型 和 引用类型
- [译]Intel App Framework 3.0的变化
- druid简单教程
- Ubuntu 14.04 不能使用 MTK Flash Tools 问题解决方法
- android之ImageView
- MYSQL SQL表操作
- eclipse自动切换到dubug视图
- 工厂模式
- iOS将UIView转换成UIImageView
- 15.Happy Number
- java-io-flush问题
- ArcGIS教程:多边形提取 (空间分析)
- 按照网上的资料进行的百万级循环插入的效率分析循环插入数据库90万条数据的代码