我开发了一款适合手机的应用,但现在我需要让它适合平板电脑。问题是,对于相同的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>
答案 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