【问题标题】:Make sure android layout will fit on every device确保 android 布局适合每台设备
【发布时间】:2015-07-27 10:35:17
【问题描述】:

我有一个关于在 Android 上检查布局的问题。我了解有关屏幕尺寸(尺寸与密度)的所有基础知识,我通常使用列表视图或滚动视图进行布局,因此无论设备的高度如何,它只会显示更多或更少的内容。问题是我经常要制作特定的布局(通常来自 iPhone“渲染”)。举个例子:

我必须在一行中制作 3 个按钮,所以我制作了带有 3 个按钮的 LinearLayout,其中 layout_width 为 0dp,layout_weight 为 1。这样就成功了。或者它似乎。我使用 Android Studio(最新版本)来构建我的布局,因此我可以看到不同屏幕尺寸和密度的预览。我也使用了“预览所有屏幕尺寸”,并查看了“通用手机和平板电脑”。一切都很好。但是,我已将我的 apk 发送给了一位朋友,该朋友向我发送了一个屏幕截图,显示按钮中的一个字母下降到了第二行。我正在使用;

android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"

他的手机是 LG L65。我不得不把字体变小,因为它看起来很大而且不合适。这怎么可能是最小的密度都很好,而在这款手机上却不是?我如何确定任何布局都适合?使用内置字体大小不是一个好主意吗?所以我必须拥有很多设备,并为所有屏幕尺寸和密度的组合制作不同的字体大小、边距等?

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    您必须考虑到字体大小可能比系统设置预期的要大。如果你希望你的按钮是单行的,你可以在你的按钮上使用android:singleLine="true"。如果需要,这可能会省略文本。

    如果您想要没有椭圆的单行按钮,您必须构建一个自定义视图,以便在需要时缩小文本...

    【讨论】:

    • 我知道 singleLine 和 ellipsize。例如,当您有一些来自服务器的内容作为文章标题时,这是一个好主意。但在我的示例中,我有 3 个按钮,它们里面总是有相同的文本。 Ellipsize 看起来很差,自定义大小的字体也一样,因为使用此方法一个按钮可以具有与另一个按钮不同的字体大小。我想要 3 个具有相同字体大小的按钮。
    猜你喜欢
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多