kas*_*sai 4 android resize runtime imageview
我正在使用ImageView容器显示图像.当用户输入特定值并单击更新时,需要调整图像大小
resize仅用于显示,原始资源保持不变.没有编辑,保存等
xml布局
<ImageView
android:background="@drawable/picture01"
android:id="@+id/picture01holder"
android:layout_below="@+id/TextView01"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
</ImageView>
Run Code Online (Sandbox Code Playgroud)
main.java
final ImageView pic01 = (ImageView)findViewById(R.id.picture01);
Run Code Online (Sandbox Code Playgroud)
现在我该怎么做动态分配这个pic01我选择的大小.只是功能,我可以自己在一个按钮内实现它.我相信我必须使用像pic01.setLayoutParams,但我不知道如何使用它.
基本上我想在.java中覆盖layout_height ="wrap_content"和layout_width ="wrap_content"
小智 5
Imageview通过采取改变大小LayoutParams
final ImageView pic01 = (ImageView)findViewById(R.id.picture01);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(50, 50);
pic01.setLayoutParams(layoutParams);
Run Code Online (Sandbox Code Playgroud)
首先,您必须根据您的喜好将图像的比例类型设置为CENTER_INSIDE 或 CENTER_CROP。您应该在 onCreate() 方法中执行此操作。
myImageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
Run Code Online (Sandbox Code Playgroud)
之后你只需要在你的布局中调整图像视图的大小。这将取决于您使用的布局类型。LinearLayout 的一个例子是:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(100,200);
myImageView.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)
或者您可以设置组件的最小尺寸:
myImageView.setMinimumWidth(200);
myImageView.setMinimumHeight(200);
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,请确保尺寸可以在布局内实现。如果您有多个权重较小的组件,则图像视图可能无法占用您需要的空间。
| 归档时间: |
|
| 查看次数: |
7049 次 |
| 最近记录: |