Str*_*ove 3 android android-databinding
我想使用数据绑定将 android:textAlignment 应用于 TextView,如下所示:
android:textAlignment="@{viewModel.switcher ? START : CENTER}"
Run Code Online (Sandbox Code Playgroud)
现在我已经实现了它抛出重力:
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{viewModel.text}"
android:textAlignment="gravity"
android:gravity="@{viewModel.switcher ? Gravity.LEFT : Gravity.CENTER}"
android:textSize="14sp"/>
Run Code Online (Sandbox Code Playgroud)
但是我可以直接抛出数据绑定来实现textAlignment吗?
小智 5
如果你这样做的话,这是可行的:
在数据绑定布局中导入 View 并使用它的对齐常量:
<layout>
<data>
<import type="android.view.View" />
</data>
<TextView
...
android:textAlignment="@{View.TEXT_ALIGNMENT_CENTER}"
... />
</layout>
Run Code Online (Sandbox Code Playgroud)
您可以使用以下常量:View.TEXT_ALIGNMENT_INHERIT; View.TEXT_ALIGNMENT_GRAVITY; View.TEXT_ALIGNMENT_TEXT_START; View.TEXT_ALIGNMENT_TEXT_END; View.TEXT_ALIGNMENT_CENTER; View.TEXT_ALIGNMENT_VIEW_START; View.TEXT_ALIGNMENT_VIEW_END;
根据您的具体情况,您可以写:
<layout>
<data>
<import type="android.view.View" />
</data>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@{viewModel.text}"
android:textAlignment="@{viewModel.switcher ? View.TEXT_ALIGNMENT_VIEW_START : View.TEXT_ALIGNMENT_CENTER}"
android:textSize="14sp"/>
</layout>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
761 次 |
最近记录: |