我有一个按钮编码如下
<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上查看,该按钮会消失,没有任何高度。如果我查看Samsung S7 Android M,它会显示10dp的高度。
如果我的身高超过10dp或者wrap_content,那么三星S7会显示比Nexus 5更厚的按钮。出现这种情况的原因是什么?我怎样才能使高度保持一致?
答案 0 :(得分:0)
仿真器和硬件设备有时会产生不同的结果。如果您使用模拟器对其进行测试,请尝试使用硬件设备。屏幕尺寸也很重要。
http://developer.android.com/guide/practices/screens_support.html
Android开发人员论坛上有一篇关于不同屏幕大小的文章,并支持每个。
答案 1 :(得分:0)
我遇到了同样的问题。我的应用程序的UI元素在三星S7上看起来很大,但是在所有其他设备上,视图是一致的物理尺寸(这是我所期望的 - 不是密度独立像素的整点吗?)。
我认为这与三星S7的Quad HD分辨率有关,导致一切看起来都比平常大。如果您进入设备设置,则可以将显示设置为压缩模式,并且视图将与其他设备上的视图大小相同。我不确定以编程方式处理此问题的方法,但是......