有没有一种方法可以将乘数应用于布局文件中的所有标注



我目前每个组件有两个xml文件来支持普通和大型设备。然而,对于这些文件中的大多数,我在大存储桶中所做的就是在正常大小的存储桶上复制,并将所有维度乘以大约1.5。

例如:

activity_main.xml:

<include layout="@layout/help_popup"/>

activity_main.xml(大(:

<include layout="@layout/help_popup"/>

help_popup.xml:

<TextView
android:text_size = 30dp
/>

help_popup.xml(大(:

<TextView
android:text_size = 45dp
/>

应该变成类似于:

activity_main.xml:

<include layout="@layout/help_popup"/>

activity_main.xml(大(:

<include layout="@layout/help_popup"
android:multiply_dimensions = 1.5
/>

help_popup.xml:

<TextView
android:text_size = 30dp
/>

help_popup.xml(大(

我现在正在使用一个用于大规模的额外布局文件。我已经在谷歌上搜索和浏览了stackoverflow,我不确定我的问题是否有解决方案,但我想确定一下。

您应该能够通过将维度资源文件用于普通和大尺寸来实现这一点,而不是将布局资源文件用于正常和大尺寸。这样就不需要大版本的help_popup和activity_main,因为普通和大的二角体将相应地设置help_popupTextView的文本大小。像这样:

dimens.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="help_popup_text_size">30sp</dimen>
</resources>

dimens.xml(大(:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="help_popup_text_size">45sp</dimen>
</resources>

help_popup.xml:

<TextView android:textSize="@dimen/help_popup_text_size"/>

activity_main.xml:

<include layout="@layout/help_popup"/>

最新更新