需要帮助支持多个屏幕

时间:2013-08-22 12:05:50

标签: android size

我正在创建一个支持多个屏幕的应用程序,我为可绘制的drawable添加了密度限定符和大小qulifier,我想问的是:

1-如果我的小屏幕设备具有高密度或中等,设备将选择哪种可绘制的小型或mdpi / hdpi ...?

2 - 我如何设置一个限定符,例如大型限定符drawable-large,但这对于平板电脑是特定的,与其他设备的大限定符不同...

3 - 在我的布局中我有textview和图像,我需要增加图像的大小,因为设备屏幕尺寸增加与文本相同...所以我做的最好的解决方案是我放置在布局中 - 一个小图像,文本为14sp,对于大型布局我放置了一个更大的图像,文本大小为17sp ...这是一个很好的解决方案,还是会导致一些问题......

3 个答案:

答案 0 :(得分:0)

您可以将布局设置为多个屏幕和不同密度的图像

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density 48*48
res/drawable-hdpi/my_icon.png        // bitmap for high density   72*72
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density  96*96

Android根据尺寸和密度管理自己 请在这里阅读所有多屏幕的内容 http://developer.android.com/guide/practices/screens_support.html

答案 1 :(得分:0)

对于不同的屏幕尺寸,它的布局不是用xml编码的。它可以,但PRO正在应用程序中进行dinamically。对于像图像这样的资源,每个屏幕至少需要4种类型,例如ldpi / mdpi / hdpi / xhdpi / xxhdpi。

答案 2 :(得分:0)

您应首先在res文件夹中创建这些文件夹:

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

然后打开并编辑每个布局,然后我ManifestFile添加此内容:

<supports-screens android:smallScreens="true"
         android:normalScreens="true" 
         android:largeScreens="true"
         android:xlargeScreens="true"
         android:anyDensity="true"
         android:resizeable="true"/>

创建文件夹后首先检查您的Manifest文件,如果此代码不执行任何其他操作copypaste ...