ImageView的src和background的區別、padding的使用技巧、ImageView根據螢幕對縮放
阿新 • • 發佈:2019-01-23
一、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)。這樣圖片就會根據不同的螢幕解析度來顯示不同的尺寸。