ImageView的src和background的区别、padding的使用技巧、ImageView根据屏幕对缩放

一、ImageView中XML属性src和background的区别:

background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 。src是图片内容(前景),bg是背景,可以同时使用。

此外: scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式


二、padding的使用技巧:

如果ImageView 只设置了background 则padding不生效,只设置src的的padding就会生效。同时设置background和src 则padding 不生效。

示例代码:

    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)。这样图片就会根据不同的屏幕分辨率来显示不同的尺寸。

你可能感兴趣的:(技术积累)