在运行时调整android线性布局不能正常工作

时间:2013-08-30 17:21:43

标签: java android android-layout runtime android-linearlayout

我在相对布局中有一个线性布局,xml文件中线性布局的默认宽度和高度是250和150,看起来不错。但是当我在运行时调整大小并再次将宽度和高度设置为250和150时,它看起来不像以前一样,看起来宽度和高度在视觉上比以前更少。我使用此代码在运行时调整大小:

    LinearLayout ll = (LinearLayout)findViewById(R.id.myLayout);
    ll.getLayoutParams().height=150;
    ll.getLayoutParams().width=250;
    ll.requestLayout();
    ll.invalidate();

我认为我们在运行时设置的值是像素单位而不是dip单位,但我不确定。如果是,我怎么能在运行时改变宽度和高度的单位?

2 个答案:

答案 0 :(得分:1)

尝试使用DP代替,以下是转换为DP的方式:

int valueInDP= (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, YOURVALUE, getResources().getDisplayMetrics());

为PX中的值切换 YOURVALUE ,例如250

答案 1 :(得分:0)

试试这样:

Layoutparams params = ll.getlayoutparams(); params.height = 300; params.width = 200; ll.setlayoutparams(params);