1
因此,我制作了一个可保存多个用户选择图片的应用程序。我有预设高度为300dp的默认ImageViews。一旦图像被放入ImageView中,我希望这个高度改变为wrap_content。我知道这样做的唯一方法是从布局中删除图像,然后用新的LayoutParams重新添加它,但这会弄乱我布局中其他视图的顺序。我可以更改高度而不删除它吗?拥有默认高度的ImageView,当图像放入图像时更改高度
本质:
LinearLayout mainLayout = (LinearLayout) findViewById(R.id.mainLayout);
final float scale = getResources().getDisplayMetrics().density;
LinearLayout.LayoutParams mTestImgParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
(int) Math.ceil(scale * 300)
);
final ImageView createdView = new ImageView(this);
mainLayout.addView(createdView, mTestImgParams);
//onLongClick listener, get picture, set the picture into the imageview, etc.
不知何故,我想改变
(int) Math.ceil(scale*300)
到
LinearLayout.LayoutParams.WRAP_CONTENT
无需拆卸和重新添加的ImageView和形象一直后才放置。请帮助。
在xml中可以使用android:minHeight = 300dp然后使用包装内容的高度 – Eoin