在同一配置组中处理不同的分辨率

时间:2013-01-10 13:25:32

标签: android android-layout

我有一个普通的hdpi-480x800布局,其中包括按钮和类似的图形。我主要使用RelativeLayout,因为它建议更好的性能,并且我的元素从左上角相对于彼此定位。根据screens_support.html,该组可能还包括600x1024分辨率设备。因此,当我在LG L9(540x960)上测试应用程序时,它也属于normal-xhdpi,它看起来很糟糕 - 看起来使用像素和dp之间没有区别。以下是代码示例:

<Button
    android:id="@+id/fb_post_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/share_fb_m_l"
    android:layout_marginTop="@dimen/share_fb_m_t"
    android:background="@drawable/fb_btn" />

有任何帮助吗?我可能做错了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您需要根据屏幕密度更多地控制按钮大小,只需在文件夹values-ldpdivalues-mdpivalues-hdpivalues-xhdpi中指定不同的尺寸。像这样:

<resources>
    <dimen name="share_fb_m_l">47dp</dimen>
    <dimen name="share_fb_m_t">57dp</dimen>
</resources>

更新:您可以对此进行更多控制:

为不同的屏幕分辨率和密度指定多个不同的图像。为此,请阅读支持多个屏幕。如果您需要更高精度的图像缩放和质量,您可以使用swdp的屏幕属性的基本大小 - 您可以指定应使用图像的屏幕的最小宽度。这是资源文件夹的限定符名称。

将您的尺寸放在这些文件夹values-sw540dpvalues-sw540dpvalues-sw600dp 中 - 这些应作为子文件夹以便进行更多控制。