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

标签 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>

最佳答案

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/

相关文章:

javascript - 将 Facebook Pixel 事件添加到 Squarespace 按钮点击

algorithm - 二维位图邻居分组

android - 如何查看我收到的警示数?

android - 如何在真实的 Android 设备上部署 Titanium 应用程序?

java - 从外部存储打开图像

java - 删除 fragment 不起作用

javascript - 是否有已知的算法来检测确保形状连续性所需的像素?

android - 清除 Activity 返回堆栈

android - 从 XML 布局扩展 ViewPager

java - 将多行 TextView 调整为正确的大小