一、ImageView中XML属性src和background的区别:
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 。src是图片内容(前景),bg是背景,可以同时使用。
此外: scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式
二、padding的使用技巧:
如果ImageView 只设置了background 则padding不生效,只设置src的的padding就会生效。同时设置background和src 则padding 不生效。
示例代码:
<ImageView android:id="@+id/buy" android:layout_width="42dp" android:layout_height="42dp" android:layout_centerVertical="true" android:padding="10dp" android:layout_marginLeft="22.5dp" android:src="@mipmap/u66" />
三、ImageView如何根据屏幕不同进行缩放
private ImageView mine_headerimg,
mine_headerimg = (ImageView) mContentView.findViewById(R.id.mine_headerimg);
//根据屏幕进行比例缩放 ViewGroup.LayoutParams layoutParams2 = mine_headerimg.getLayoutParams(); int screenWidthPixels = DensityUtil.getScreenWidthPixels(getActivity());//代码如下 layoutParams2.height = 1412 * screenWidthPixels / 3000; mine_headerimg.setLayoutParams(layoutParams2);
/** * 获取屏幕宽度 */ public static int getScreenWidthPixels(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); return metric.widthPixels; }
简单说明下,这里是根据mine_headerimg里图片的大小 长度3000 高度1412(16:9)。这样图片就会根据不同的屏幕分辨率来显示不同的尺寸。