Android:以编程方式设置视图的最小高度

时间:2013-05-28 11:26:28

标签: android android-layout

我正在尝试以编程方式为imageview设置最小高度,但到目前为止还没有运气。我的代码在

之下
    int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 160, getResources().getDisplayMetrics());
    int minHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());

    LayoutParams params = new LayoutParams(width,LayoutParams.MATCH_PARENT);

    SmartImageView siv = new SmartImageView(getActivity());
    siv.setMinimumHeight(minHeight);
    siv.setLayoutParams(sivParams);
    siv.setAdjustViewBounds(true);
    siv.setScaleType(ScaleType.FIT_XY);
    siv.setImageUrl(url);
    ll.addView(siv);

我还尝试将setMinimumWidth方法放在setLayoutParams方法之后,但这也没有用。请帮忙

由于

3 个答案:

答案 0 :(得分:15)

试试这个--->

siv.getLayoutParams().height = minHeight;

或者您也可以尝试--->

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width , minHeight);
siv.setLayoutParams(layoutParams);

答案 1 :(得分:6)

@ Gustavo Baiocchi Costa 在评论中指出, @Ashok Damani 的答案不正确

这将高度或宽度设置为最小宽度或高度

正确方法,用于设置Android中视图的最小高度:

属性访问方式(在科特林中):

yourView.minimumHeight = minHeight

设置方法:

yourView.setMinimumHeight(minHeight);

Android Documentation说:

设置视图的最小高度。不保证视图 将能够达到此最小高度(例如,如果 父级布局以较少的可用高度对其进行约束。)

答案 2 :(得分:-1)

SmartImageView siv = new SmartImageView(getActivity());
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, minHeight);
siv.setLayoutParams(params);