2

パーセント サポート ライブラリを使用してレイアウト付きの単純なグラフを作成しようとしていますが、データ バインディングを使用してパーセントをビューに割り当てる方法がわかりません。String "60%"、float 0.6f、float 0.6f、int 60 を返そうとしました。何も機能しません。

 <View
   android:id="@+id/graph_before"
   android:layout_height="@dimen/list_graph_line_height"
   android:layout_gravity="center_vertical"
   android:background="@color/colorAccent"
   app:layout_marginLeftPercent="@{item.percentValueLeft}"
   app:layout_widthPercent="@{item.percentValueWidth}"
   />
4

1 に答える 1

3

これを行う方法は、databinding と PercentLayoutInfo でカスタム セッターを使用することです。

@BindingAdapter("app:layout_widthPercent")
public static void setWidthPercent(View view, float width) {
    PercentLayoutHelper.PercentLayoutParams params =(PercentLayoutHelper.PercentLayoutParams) view.getLayoutParams();
    PercentLayoutHelper.PercentLayoutInfo info = params.getPercentLayoutInfo();
    info.weightPercent = width;
}
于 2016-04-07T15:55:03.630 に答える