0

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

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

我认为我们在运行时设置的值是像素单位而不是倾角单位,但我不确定。如果是真的,我如何在运行时更改宽度和高度的单位?

4

2 回答 2

1

改用 DP 试试,下面是转换为 DP 的方法:

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

YOURVALUE 换成PX 中的值,例如 250

于 2013-08-30T17:29:21.163 回答
0

试试这样:

布局参数 params = ll.getlayoutparams();params.height=300;params.width= 200;ll.setlayoutparams(params);

于 2013-08-30T20:23:05.460 回答