2012-11-24 88 views
1

我想了解Android中的多屏幕支持。是的,我阅读了文档,但仍然有几个问题。Android屏幕尺寸和密度。如何选择文字大小?

据我所知,我需要为每个密度创建drawable,但如何处理文本大小?

我想设置我的活动标题,这将适合任何屏幕(需要足够大的大,不翘曲文本) 我测试在我的Nexus7(大屏幕),它看起来很好用android:textSize="100dp"'

当我在“正常屏幕”大小的模拟器上启动它时,我会得到非常大的文本。 那么,为每个屏幕尺寸制作布局是否正确?

'layout' 
'layout-large' 
'layout-small' 
.... 

,只是让android:textSize="70dp"正常屏幕和android:textSize="50dp"为小屏幕?

另一个问题是如何以更有效的方式测试所有这些? 我需要创建模拟器?哪里可以获得创建模拟器来获取结果的参数?

  1. XLARGE屏幕
    • LDPI
    • MDPI
    • tvdpi
    • 华电国际
    • xhdpi
  2. 大屏幕
    • LDPI
    • MDPI
    • tvdpi
    • HDPI
    • xhdpi
  3. 中等屏幕
    • LDPI
    • MDPI
    • tvdpi
    • HDPI
    • xhdpi
  4. 小屏幕
    • LDPI
    • MDPI
    • tvdpi
    • 华电国际
    • xhdpi

回答

2

对于文本大小,你应该使用sp个单位。Docs say

量表无关的像素 - 这是像DP单元,但它也是 通过用户的字体大小偏好缩放。建议您在指定字体大小时使用本机的 ,因此它们将根据屏幕密度和用户偏好进行调整。

1

据我所知,我需要为每个密度创建drawable,但如何处理文本大小?

由于WebnetMobile指出,您首先使用sp,因为这需要用户选择字体比例。但是,您可能需要更多。

那么,为每个屏幕尺寸制作布局是否正确?

我会建议使用维度资源,根据您的不同情况需要使用不同的文本大小维度定义。

尽管如此,尽可能将您的UI设计为更灵活的字体大小。再次,如果您使用sp,则用户可以更改Android 4.0+上的文本大小,以使其更大或更小,以帮助他们阅读设备上的文本。因此,您不能认为您完全控制了字体的大小,因此需要进行相应的设计。这与设计考虑到用户在其浏览器中对字体大小的调整的网站没有显着不同。

而另一个问题如何以更有效的方式测试所有这些?我需要创建模拟器?

您需要模拟器或设备来处理任何与您有关的情况。

从哪里获取创建模拟器以获取此结果的参数?

在当前(当前)R21版本的工具上,您可以在AVD Manager的设备定义选项卡中设置屏幕大小和密度,然后根据需要根据这些定义创建AVD。

0

为了在不同的屏幕和密度下测试,您可以创建具有不同组合的仿真器。当我们创建仿真器设备时,我们可以设置密度(硬件下的抽象LCD密度)。

ldpi - 120 
    mdpi - 160 
    hdpi - 240 
    xhdpi - 320 

您可以设置屏幕大小也同时启动模拟器