我开发了一个适用于手机的应用程序,但现在我需要让它适用于平板电脑。问题是,对于相同的 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>
最佳答案
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
关于android - dp 适用于手机但对于 android 中的平板电脑来说太小了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25235363/