【问题标题】:Why button height differs across devices为什么不同设备的按钮高度不同
【发布时间】:2016-09-06 12:45:24
【问题描述】:

我有一个如下编码的按钮

        <Button
            android:id="@+id/btn_register"
            style="@style/MyButtonStyle"
            android:layout_width="20dp"
            android:layout_height="10dp"
            android:text="@string/word_text" />

我的风格如下。

<style name="MyButtonStyle" >
    <item name="android:textColor">@color/colorWhite</item>
    <item name="android:textAllCaps">false</item>
    <item name="android:textSize">@dimen/text_size_medium_small</item>
    <item name="android:stateListAnimator">@null</item>
    <item name="android:elevation">@dimen/elevation_standard</item>
    <item name="android:backgroundTint">@color/colorPrimary</item>
</style>

如果我在 Nexus 5 Android M 上查看,按钮会消失,没有任何高度。如果我在三星 S7 Android M 上查看,它会显示 10dp 高度。

如果我有大于 10dp 高度或 wrap_content 的东西,三星 S7 会显示比 Nexus 5 更厚的按钮。为什么会发生这种情况?我怎样才能使高度一致?

【问题讨论】:

标签: android android-layout android-button


【解决方案1】:

模拟器和硬件设备有时会给出不同的结果。如果您使用模拟器对其进行测试,请尝试使用硬件设备。屏幕尺寸也很重要。

http://developer.android.com/guide/practices/screens_support.html

android 开发者论坛有一篇关于不同屏幕尺寸和支持每种屏幕尺寸的好文章。

【讨论】:

    【解决方案2】:

    我也有同样的问题。我的应用程序的 UI 元素在三星 S7 上看起来很大,但在所有其他设备上,视图都是一致的物理尺寸(这是我所期望的——这不是密度独立像素的全部意义吗?)。

    我认为这与三星 S7 的 Quad HD 分辨率有关,导致一切看起来都比平时大。如果您进入设备设置,您可以将显示设置为压缩模式,并且视图将与其他设备上的大小相同。不过,我不确定以编程方式处理此问题的方法...

    【讨论】:

      猜你喜欢
      • 2014-08-27
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多