重点:需要给你的ImageView布局加上
android:adjustViewBounds=”true”
android:scaleType=”fitXY”
<ImageView
android:id="@+id/iv_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dip"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
/>```
代码中:
int screenWidth = getScreenWidth(this);
ViewGroup.LayoutParams lp = iv_code.getLayoutParams();
lp.width = screenWidth;
lp.height = screenWidth;
iv_code.setLayoutParams(lp);
iv_code.setMaxWidth(screenWidth);
iv_code.setMaxHeight(screenWidth * 5);
//获取屏幕的宽度
public static int getScreenWidth(Context context) {
WindowManager manager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getWidth();
}
//获取屏幕的高度
public static int getScreenHeight(Context context) {
WindowManager manager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getHeight();
}
“`
本文介绍了如何根据屏幕宽度动态设置ImageView的宽高,关键在于设置android:adjustViewBounds="true"和android:scaleType="fitXY"属性,并通过代码获取屏幕宽度,动态更新ImageView的LayoutParams,确保图片能自适应屏幕。

1392

被折叠的 条评论
为什么被折叠?



