如何为所有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设备的多个屏幕有效?谢谢
答案 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