当前位置: 代码迷 >> Android >> Android 数据绑定:设置 layout_weight 的条件格式
  详细解决方案

Android 数据绑定:设置 layout_weight 的条件格式

热度:87   发布时间:2023-08-04 12:08:04.0

如何使用android数据绑定在xml中设置layout_weight? 在 dimens 文件夹中,我们提供 dp / sp 中的值。

这是一个对我有用的绑定适配器,你的视图确实需要在一个 LinearLayout 中,我认为如果你想设置权重:

@BindingAdapter("android:layout_weight")
fun setLayoutWeight(view: View, weight: Float) {
    val layoutParams = view.layoutParams as? LinearLayout.LayoutParams
    layoutParams?.let {
        it.weight = weight
        view.layoutParams = it
    }
}

只需将此方法添加到与xml相关的java文件中即可:

    @BindingAdapter("android:layout_weight")
public static void setLayoutWeight(View view, int weight) {
    LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) view.getLayoutParams();
    layoutParams.weight = weight;
    view.setLayoutParams(layoutParams);
}

使用相同的技术作为android:layout_widthandroid:layout_height ,前面已经讨论:

您必须创建自己的 BindingAdapter。

尝试这个:

@BindingAdapter("layout_weight")
    fun setLayoutWeight(view: View, weight: Float) {
        view.layoutParams = TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,
                                                     TableLayout.LayoutParams.WRAP_CONTENT,
                                                     weight)
    }
  相关解决方案