多屏Android

时间:2014-03-05 14:52:50

标签: android screen

如何为所有Android设备创建多个屏幕,哪一个最有效?

目前我使用手动方法。

1. [JAVA]我设置配置屏幕布局并获得其密度,然后我设置其相应的屏幕尺寸

示例:

if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {

    Toast.makeText(this, "Large screen", Toast.LENGTH_LONG).show();
    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);

    int density = metrics.densityDpi;
    if (density == DisplayMetrics.DENSITY_HIGH) {

    }
}

2. [XML]创建文件夹布局,例如:

layout-large-mdpi
layout-normal-ldpi
layout-large-tvdpi

我认为上面的方法1和方法2的效果较差,需要很长时间才能完成。

是否有一个简单的方法为所有Android设备的多个屏幕有效?谢谢

2 个答案:

答案 0 :(得分:0)

您可以为窗口小部件设置样式,也可以设置适用于所有窗口小部件的主题。 它不是很复杂,节省了很多时间。

转到您的values目录并打开styles.xml ...

加入......

<style name="Style.Button" parent="@android:style/Widget.Holo.Button">
    <item name="android:textColor">#FFFF0000</item>
    <item name="android:layout_width">48dp</item>
    <item name="android:layout_height">48dp</item>
</style>

这定义了一个新的按钮样式,按钮将是48x48dp,文本颜色将是红色。

您可以使用

将此样式设置为任何按钮
<Button 
    style="@style/Style.Button"/>

要将此项设置为应用于所有按钮,请创建一个类似这样的主题......

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:buttonStyle">@style/Style.Button</item>
</style>

并将其设置在您的清单中......

<application
    android:theme="@style/AppTheme" >

现在所有按钮看起来都一样。您可以使用任何窗口小部件执行此操作,并且可以使用多个styles.xml,例如:一个在值中,一个在值-xlarge ...

答案 1 :(得分:-1)

您可以创建更多布局文件夹,例如layout-sw720dp,并将您的特定布局放入。

然后你可以像drawable-sw720dp-xhdpi一样添加drawable文件夹并将你的XML drawables放入。

也许我的博客可以解决问题。 http://objectofclasshuman.blogspot.de/2014/04/android-user-interface.html

相关问题