繁体   English   中英

AppCompatButton的高度在设备上有所不同?

[英]AppCompatButton's height is different on devices?

我正在使用AppCompatButton并遇到问题。 某些测试设备上的按钮高度不同。

例如:

在SamSung Galaxy注4: 在此输入图像描述

在Nexus 6上:

在此输入图像描述 我将我的按钮定义如下:

<android.support.v7.widget.AppCompatButton
        android:id="@+id/btn_add_to_cart"
        android:layout_width="0dp"
        android:layout_height="55dp"
        android:layout_weight="5"
        android:text="Add to cart"
        android:textAllCaps="false"/>

我不知道为什么我的按钮在设备之间有所不同。 请帮我解决这个问题。

提前致谢。

尝试对齐按钮阴影(由高程完成)时,我遇到了类似的问题。 某些Samsung设备上“材质”按钮的默认样式不设置高程或stateListAnimator。 尝试为你的按钮设置android:stateListAnimator,如下所示:

<selector xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:state_enabled="true">
    <set>
        <objectAnimator android:propertyName="translationZ"
                        android:duration="100"
                        android:valueTo="1dp"
                        android:valueType="floatType"/>
        <objectAnimator android:propertyName="elevation"
                        android:duration="0"
                        android:valueTo="2dp"
                        android:valueType="floatType"/>
    </set>
</item>
<!-- base state -->
<item android:state_enabled="true">
    <set>
        <objectAnimator android:propertyName="translationZ"
                        android:duration="100"
                        android:valueTo="0"
                        android:startDelay="100"
                        android:valueType="floatType"
                        tools:targetApi="kitkat" />
        <objectAnimator android:propertyName="elevation"
                        android:duration="0"
                        android:valueTo="2dp"
                        android:valueType="floatType" />
    </set>
</item>
<item>
    <set>
        <objectAnimator android:propertyName="translationZ"
                        android:duration="0"
                        android:valueTo="0"
                        android:valueType="floatType"/>
        <objectAnimator android:propertyName="elevation"
                        android:duration="0"
                        android:valueTo="0"
                        android:valueType="floatType"/>
    </set>
</item>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM