如何在代码中设置android:layout_weight和android:layout_width?

综合技术 2019-01-12 阅读原文

有人可以告诉我如何在动态创建的视图的代码中设置android:layout_weight和android:layout_widthXML属性?

参考: XML Table layout? Two EQUAL-width rows filled with equally width buttons?

使用 ViewGroup.LayoutParams

.

LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, 
                                   LayoutParams.WRAP_CONTENT);
myview.setLayoutParams(lp);

您还可以在构造函数中指定固定像素大小,而不是常量.但由于设备种类繁多,固定像素在Android上是一个坏主意.

你可以从dp大小计算像素,这是好的:

float pixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 
                                         10, getResources.getDisplayMetrics());

(这里:将10dp转换为像素值)

翻译自:https://stackoverflow.com/questions/7378896/how-to-set-androidlayout-weight-and-androidlayout-width-in-code

责编内容by:代码日志 【阅读原文】。感谢您的支持!