2013-08-22 209 views
0

我创建suppports多个屏幕的应用程序,我添加了与密度预选赛和大小qulifier我要问的绘制绘制是:需要帮助支持多种屏幕

1 - 如果我有小屏幕高密度或中等的设备什么设备将选择哪一种可绘制的选择小的还是mdpi/hdpi。

2,我怎样才能把一个限定词,例如大预选赛绘制大型但这是具体针对平板电脑,这将是不同的,那么其它设备的大型预选赛......

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

回答

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它...

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

0

针对不同屏幕的多个屏幕尺寸它不是在XML编码的布局。它可能是,但PRO的是在应用程序中dinamically。对于像图片这样的资源,每个屏幕都需要4种类型的至少1个图像,如ldpi/mdpi/hdpi/xhdpi/xxhdpi。