How do I force the Nexus to use resources in drawable-xhdpi and then

the 10 inch tab to use drawable-xxhdpi?

你不能。

限定符hdpi,xhdpi,xxhdpi描述了设备的屏幕密度,而不是屏幕的大小。

从official doc

Screen density

The quantity of pixels within a physical area of the screen; usually

referred to as dpi (dots per inch). For example, a “low” density

screen has fewer pixels within a given physical area, compared to a

“normal” or “high” density screen. For simplicity, Android groups all

actual screen densities into four generalized densities: low, medium,

high, and extra high.

如果您还想支持平板电脑,请使用大尺寸的xlarge限定符。 Nexus 7是一款大型hdpi平板电脑(技术上是tvdpi,但是从hdpi获取图像)。所以如果要将图像用于Nexus 7,请制作一个名为drawable-large-hdpi的文件夹,并将图像放在那里。

注意:这是Nexus 7的特殊情况。由于即使Nexus 7是7寸平板电脑,它的分辨率为1280 * 800.所以这是一个hdpi设备。但正常的7英寸设备的分辨率较低,为1024 * 600。所以他们是mdpi设备。所以可绘制的限定词可以改变。 (从我自己的经验来看,首先为7寸的设备放一个文件夹drawable-large-mdpi,并在Nexus 7上进行检查。如果图像没有问题,你不必再放一个文件夹,因为如果一个特定的文件夹不存在,Android将检查最近的可能文件夹,并对设备屏幕进行优化)

现在关于10寸平板电脑的情况,他们是xlarge设备,密度可以从mdpi变为xhdpi(Nexus 10)。但是很多都有1280 * 800的分辨率,而且是mdpi的设备。

更好的做法是把以下的绘图

// for Phones

drawable-ldpi

drawable-mdpi

drawable-hdpi

//for 7 inch tablets

drawable-large-mdpi

drawable-large-hdpi(for Nexus 7)

// for 10 inch tablets

drawable-xlarge-mdpi

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐