dp适用于手机,但对于Android中的平板电脑来说太小了

时间:2014-08-11 03:05:53

标签: android android-layout pixel tablet

我开发了一款适合手机的应用,但现在我需要让它适合平板电脑。问题是,对于相同的dp,它在手机上运行良好,但是,对于平板电脑来说,它太小了,我已经搜索了这样的解决方案:

http://developer.android.com/design/style/metrics-grids.html

发现平板电脑上的dp是手机的两倍/三倍。因此,如果我想定义一个如下所示的自定义操作栏大小,我该如何将它也适合平板电脑? 60 dp适用于手机4“~5”,但对于7“~10”平板电脑来说太小了

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
    <!-- API 11 theme customizations can go here. -->
    <item name="android:actionBarSize">60dp</item>
</style>

1 个答案:

答案 0 :(得分:2)

Android处理资源的方式允许开发人员根据屏幕大小指定不同的维度。在您的XML布局中,您可以:

<FrameLayout
    android:layout_width="@dimen/subtitle_container_width"
    android:layout_height="wrap_content">

...

</FrameLayout>

该值将在不同的文件夹中指定,每个文件夹都根据您的需要而定。

考虑到您的res目录具有与下面类似的结构:

res/
    values
    values-sw400dp
    values-sw720dp

您可以在每个文件夹中创建一个dimens.xml文件,其中包含:

<resources>
    <dimen name="subtitle_container_width">(VALUE IN DP)</dimen>
</resources>

Android会自动为您考虑运行时的正确值。 在此示例中,您可以为宽度最小为720dp和400dp的设备设置特定尺寸。如果设备没有至少400dp,将使用values文件夹中的默认值。

您可以根据需要创建更多文件夹,使用不同的尺寸或修改器(X的最小尺寸,Y的最小高度等)。

您可以在此处找到更多信息:http://developer.android.com/guide/topics/resources/providing-resources.html