Android在布局预览中使用数据绑定获取变量?

x33g5p2x  于 2023-04-04  发布在  Android
关注(0)|答案(1)|浏览(150)

是否可以在Android Studio窗口的布局预览中看到视图的marginLeft中的int?以下是我正在尝试的:

<data>
    <variable
        name="doorLeft"
        type="Integer" />
</data>

(...)

<ImageView
     android:id="@+id/castle_main_door"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_marginLeft="@{doorLeft}"
     android:src="@drawable/castle_main_door2" />

我在Activity中设置此值,如下所示:

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

(...)

binding.setDoorLeft(300);

但在布局预览中不显示(marginLeft为0)。

我再次强调,我希望在LAYOUT PREVIEW中包含此变量。

qlfbtfca

qlfbtfca1#

layout-preview不支持数据绑定中的变量。因此您无法将代码中的更改应用到layout-preview
如果您想预览您的边距有多大,请使用tools:layout_marginLeft="your margin values"

<ImageView
 android:id="@+id/castle_main_door"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginLeft="@{doorLeft}"
 android:src="@drawable/castle_main_door2"
 tools:layout_marginLeft="20dp" />

相关问题