为了支持不同的分辨率,我们需要按照Supporting Multiple Screens中的描述制作各种布局文件。假设您不打算显示您的UI的不同排列,但只是想要适当地伸展,您的变化主要是关于不同的权重。到目前为止,我的应用程序至少就是这种情况。
现在,您如何管理使用此结构更改应用程序?由于它多次重复布局,因此应用程序中的一次布局更改会导致多个文件更改。
我想到了两个选择:
如果你可以分享你的技巧来完成这个,那将非常感激。
答案 0 :(得分:1)
我想我找到了解决方案。如果其他人竖起大拇指,我会接受它作为答案。
我发现Supporting Multiple Screens中描述的配置限定符不仅适用于res/drawable
和res/layout
,也适用于res/values
。所以在我的layout/some_layout.xml
上,我这样说:
<ImageButton
android:id="@+id/imagePlay"
android:layout_width="@dimen/button_size"
android:layout_height="@dimen/button_size"
android:scaleType="fitCenter"
android:src="@drawable/play" />
然后在values/layout.xml
文件上定义默认的button_size
:
<resources>
<dimen name="button_size">44dp</dimen>
</resources>
在values-xlarge/layout.xml
文件上,您可以定义xlarge模式button_size
:
<resources>
<dimen name="button_size">66dp</dimen>
</resources>
我没有尝试其他values
资源,但我认为它也适用于Styles and Themes所以如果你的布局定制比一个大小或重量稍微多一点,你可以定义一个样式在价值观中使用它。