繁体   English   中英

在运行时调整android线性布局的大小无法正常工作

[英]resizeing android linear layout at runtime not work right

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

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

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

尝试使用DP代替,下面是一种转换为DP的方法:

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

切换出YOURVALUE以获取PX中的值,例如250

尝试这样:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM