在不同的屏幕上使用不同的布局样式(Android)

时间:2014-10-06 07:59:45

标签: android layout styles

我的布局在一个屏幕上遇到一些问题,但是没有很好的重新调整,一些文本弹出按钮等...

我想到了解决这个问题,但我需要你的帮助。

在我创建的XML中:

<style name="styleforS5" parent="android:style/Widget.ImageButton">
    <item name="android:background">@null</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_weight">1.0</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
</style>

<style name="samsungTablet" parent="android:style/Widget.ImageButton">
    <item name="android:background">@null</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_weight">2.0</item>
    <item name="android:paddingTop">15dp</item>
    <item name="android:paddingBottom">5dp</item>
</style>

现在我的问题是下一个:如果输入是平板电脑,它应该使用samsungTablet样式,如果它是s5,它应该使用stylefors5,我怎么写?

谢谢你的帮助, 扎克

1 个答案:

答案 0 :(得分:0)

也许解决方案是两个设备只有一种样式,但是根据最小可用宽度在两个特定文件夹中定义它(参见Supporting Multiple Screen):

对于智能手机(S5):res / values / styles.xml

<style name="ImageButtonStyle" parent="android:style/Widget.ImageButton">
    <item name="android:background">@null</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_weight">1.0</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
</style>

对于平板电脑:res / values-sw600dp / styles.xml

<style name="ImageButtonStyle" parent="android:style/Widget.ImageButton">
    <item name="android:background">@null</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_weight">2.0</item>
    <item name="android:paddingTop">15dp</item>
    <item name="android:paddingBottom">5dp</item>
</style>

使用这些文件夹Android系统会选择&#34;更正&#34;根据屏幕尺寸使用的样式。