我正在创建一个支持多个屏幕的应用程序,我为可绘制的drawable添加了密度限定符和大小qulifier,我想问的是:
1-如果我的小屏幕设备具有高密度或中等,设备将选择哪种可绘制的小型或mdpi / hdpi ...?
2 - 我如何设置一个限定符,例如大型限定符drawable-large,但这对于平板电脑是特定的,与其他设备的大限定符不同...
3 - 在我的布局中我有textview和图像,我需要增加图像的大小,因为设备屏幕尺寸增加与文本相同...所以我做的最好的解决方案是我放置在布局中 - 一个小图像,文本为14sp,对于大型布局我放置了一个更大的图像,文本大小为17sp ...这是一个很好的解决方案,还是会导致一些问题......
答案 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
文件,如果此代码不执行任何其他操作copy
和paste
...