我的平板电脑有7英寸屏幕(600×1024),带有hdpi(240 dpi分类)。
我创建了文件夹layout-sw600dp
。但它不适用于此分辨率平板电脑。
它的工作正常,7英寸屏幕(600×1024),mdpi(160 dpi分类)。
我应该为具有hdpi(240 dpi分类)的7“(600×1024)平板电脑创建哪个文件夹?
答案 0 :(得分:0)
使你的布局像这样:
res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
TAB :
例如,如果您的应用程序仅适用于可用宽度最小为600dp的平板电脑型设备:
<supports-screens
android:requiresSmallestWidthDp="600" />
我有平板电脑7英寸屏幕(600×1024)和hdpi(240 dpi分类),这是在正常屏幕下看到我的屏幕截图。它的工作正常,7英寸屏幕(600×1024),mdpi(160 dpi分类),属于大屏幕。
多个屏幕:
例如,以下是应用程序中的资源目录列表,它为不同的屏幕尺寸提供不同的布局设计,为中,高和超高密度屏幕提供不同的位图可绘制。
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
希望这会对你有所帮助。
答案 1 :(得分:0)
这取决于您构建的Android API版本,如提到的here:
...但是,这在3.2之前的设备上效果不佳,因为它们 不认为sw600dp是一个大小限定符,所以你仍然要使用 大型资格赛也是如此。所以,你应该有一个名为的文件 res / layout-large / main.xml与...相同 RES /布局sw600dp / main.xml中。在下一节中,您将看到一个 允许您避免重复布局文件的技术 方式。
您还应该看一下:
和
答案 2 :(得分:0)
在android中,我们使用dp中的分辨率来测量屏幕大小,而不是px中的分辨率。 你的两个平板电脑在px上具有相同的分辨率,但它们在dp中的分辨率是完全不同的。
600 x 1024px,mdpi = 600 * 1024 dp
600 x 1024px,hdpi = 400 * 682 dp
您使用sw600dp作为平板电脑的限定符,这将影响第一台设备但不影响第二台设备。
事实上,第二台设备(400 * 682dp)更像是手机而不是平板电脑,它不应该使用平板电脑的布局。