如何使用android数据绑定在xml中设置layout_weight?在dimens文件夹中,我们提供dp / sp中的值。
答案 0 :(得分: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);
}
答案 1 :(得分:0)
使用与之前讨论的android:layout_width
和android:layout_height
相同的技术:
How to bind a layout_width and layout_height using data binding in Android
您必须创建自己的BindingAdapter。
答案 2 :(得分:0)
这是一个对我有用的绑定适配器,您的视图确实需要在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
}
}
答案 3 :(得分:-1)
试试这个:
@BindingAdapter("layout_weight")
fun setLayoutWeight(view: View, weight: Float) {
view.layoutParams = TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.WRAP_CONTENT,
weight)
}