andriod ImageView scaleType个属性全面介绍
来源:互联网 发布:mysql数据库查看 编辑:程序博客网 时间:2024/06/03 13:08
ImageView的scaleType属性很多,之前一直傻傻分不清楚,这里做下总结,希望对小伙伴们也有所帮助,若有错误处,欢迎指正。
原图:
大图 小图
1.matrix:
matrix:正常绘制图片不做伸缩和位置控制
2.center
center属性对图片不做伸缩处理,只让图片居中显示
3.centerCrop:
centerCrop对图片做等比例伸缩处理,把最小边放大至填充view或者将最大边缩小至填充view,并居中显示
4.fitCenter:
fitCenter:将图片的宽等比例放大或缩小到view的宽,垂直方向上居中显示
5.fitStart:
fitx即fitstart,将图片的宽等比例放大或缩小至view的宽,并显示在view的上方
6.fitEnd:
fity即fitEnd,将图片的宽等比例放大或缩小到view的宽,显示在view的下方
7.fitXY:
fitxy将图片完全显示,不按比例对图片缩放
8.centerInside:
centerinside将图片完全显示在view中,如果图片完全(宽和高)小于view,则居中显示,如果宽或高大于view的款或者高,则按缩小比例最大的值对图片进行缩小,并居中显示图片
布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:visibility="gone" > <Button android:id="@+id/bt_popup" android:layout_width="match_parent" android:layout_height="match_parent" android:onClick="popup" android:text="popup"/> </LinearLayout> <ImageView android:id="@+id/img_big" android:layout_width="100dp" android:layout_height="200dp" android:layout_gravity="center" android:background="#000000" android:scaleType="matrix" android:src="@mipmap/lin"/> <ImageView android:id="@+id/img_small" android:layout_width="100dp" android:layout_height="200dp" android:layout_gravity="center" android:layout_marginTop="20dp" android:background="#000000" android:scaleType="matrix" android:src="@mipmap/linxiao"/> <Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/stype_img"> </Spinner></LinearLayout>
Spinner布局:
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="stype_img"> <item>matrix</item> <item>center</item> <item>centerCorp</item> <item>centerinside</item> <item>fitCenter</item> <item>fitX</item> <item>fitY</item> <item>fitXY</item> </string-array></resources>
activity:
mSpinner = (Spinner) findViewById(R.id.spinner); mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> view, View view1, int i, long l) { switch (i) { case 0: img_big.setScaleType(ImageView.ScaleType.MATRIX); img_small.setScaleType(ImageView.ScaleType.MATRIX); break; case 1: img_big.setScaleType(ImageView.ScaleType.CENTER); img_small.setScaleType(ImageView.ScaleType.CENTER); break; case 2: img_big.setScaleType(ImageView.ScaleType.CENTER_CROP); img_small.setScaleType(ImageView.ScaleType.CENTER_CROP); break; case 3: img_big.setScaleType(ImageView.ScaleType.CENTER_INSIDE); img_small.setScaleType(ImageView.ScaleType.CENTER_INSIDE); break; case 4: img_big.setScaleType(ImageView.ScaleType.FIT_CENTER); img_small.setScaleType(ImageView.ScaleType.FIT_CENTER); break; case 5: img_big.setScaleType(ImageView.ScaleType.FIT_START); img_small.setScaleType(ImageView.ScaleType.FIT_START); break; case 6: img_big.setScaleType(ImageView.ScaleType.FIT_END); img_small.setScaleType(ImageView.ScaleType.FIT_END); break; case 7: img_big.setScaleType(ImageView.ScaleType.FIT_XY); img_small.setScaleType(ImageView.ScaleType.FIT_XY); break; } } @Override public void onNothingSelected(AdapterView<?> view) { } });
0 0
- andriod ImageView scaleType个属性全面介绍
- ImageView.ScaleType属性介绍
- imageView的scaleType属性介绍
- ImageView的scaleType属性介绍
- Andriod 开发之布局文件XML Imageview的scaleType属性
- Android ImageView 的scaletype属性详细介绍
- ImageView的scaletype属性
- ImageView的scaletype属性
- ImageView的scaletype属性
- ImageView的scaletype属性
- ImageView的scaletype属性
- android ImageView scaleType属性
- ImageView 的 ScaleType属性
- android ImageView scaleType属性
- android ImageView scaleType属性
- ImageView的ScaleType属性
- ImageView scaleType 属性解析
- android ImageView scaleType属性
- Spring AOP实现(以log管理为例)
- 数据结构总结
- android Handler post sendMessage
- annot refer to a non-final variable * inside an inner class defined in a different method"错误解析
- 权限控制和session验证的实现
- andriod ImageView scaleType个属性全面介绍
- [Android问答] px、dp和sp,这些单位有什么区别?
- 缓存淘汰算法系列之1 --- LRU
- 吾日三省吾身
- (ros/navigation/slam_gmapping) map_server地图服务器
- struts1+json的应用
- 缓存淘汰算法系列之2 --- LFU
- 网络通信之点播
- 勿忘初衷,方得始终