是否可以用文件中的变量替换@id/blah
中的View
(例如在layout_below
上),然后有两个不同的文件,每个文件中有一个根据建立的风味设置@id
e.g。
<TextView
android:id="@+id/badge"
style="@style/badge_border"
android:layout_below="@variable/test_name"
tools:text="Exclusive"/>
然后是values / variables.xml
<variable name="test_name" value="@id/view1"/>
答案 0 :(得分:0)
我认为这不可能,但为什么你还需要这样做呢?您可以检查代码中的风格并根据需要执行不同的操作,而不是根据风格更改ID。或者,您可以将特定于特定于风格的布局差异(例如,如果您确实要更改ID)插入到常见布局中,例如:
<include layout="@layout/include_part_of_layout"/>
然后在每个风味的res目录中都有相同的包含文件名但具有不同的内容,如:
flavor1 / RES /布局/ include_part_of_layout.xml
....
<TextView
android:id="@+id/badge_for_flavor1"
style="@style/badge_border"
android:layout_below="@variable/test_name"
tools:text="Exclusive"/>
...
flavor2 / RES /布局/ include_part_of_layout.xml
....
<TextView
android:id="@+id/badge_for_flavor2"
style="@style/badge_border"
android:layout_below="@variable/test_name"
tools:text="Exclusive"/>
...