android - 如何设置android :layout_weight and android:layout_width in code?

标签 android android-layout

谁能告诉我如何在代码中为动态创建的 View 设置 android:layout_weight 和 android:layout_width XML 属性?

引用: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 转换为像素值)

关于android - 如何设置android :layout_weight and android:layout_width in code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7378896/

相关文章:

android - LiveData是抽象的android

android - 在单个 Android 应用程序中使用多个 firebase 帐户进行谷歌分析

android - 如何在android中的webview中显示本地镜像

Android:旋转整个布局

android - 针对不同屏幕尺寸的 Android 设计

android - 使用带有 Appcompat 主题的扩展 float 操作按钮

android - 如何在服务器端验证来自 Android 应用程序的 https 请求?

java - Android 布局中的绝对居中

android - 在当前主题中找不到样式...

java - 以编程方式更改 LinearLayout 的背景颜色