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

6
如何使用Android数据绑定在XML中设置layout_weight?在dimens文件夹中,我们以dp / sp为单位提供值。

为什么数据绑定在您的任务中是必需的? - Sergei Bubenshchikov
请展示一下您目前尝试过的内容。 - yennsarah
4个回答

2
这是一个适用于我的绑定适配器,你的视图需要在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
    }
}

1

只需将此方法添加到与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);
}

0

-1

试试这个:

@BindingAdapter("layout_weight")
    fun setLayoutWeight(view: View, weight: Float) {
        view.layoutParams = TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,
                                                     TableLayout.LayoutParams.WRAP_CONTENT,
                                                     weight)
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接