Android AppCompatButton';s的高度在设备上不同?
我正在使用AppCompatButton并面临一个问题。在某些测试设备上,按钮的高度不同 例如: 三星Galaxy注4: 关于Nexus 6: 我将我的按钮定义如下:Android AppCompatButton';s的高度在设备上不同?,android,android-layout,android-studio,android-fragments,Android,Android Layout,Android Studio,Android Fragments,我正在使用AppCompatButton并面临一个问题。在某些测试设备上,按钮的高度不同 例如: 三星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.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"/>
我不知道为什么我的按钮在不同的设备上有所不同。请帮我把这个修好
提前感谢。我在尝试对齐按钮阴影时遇到了类似的问题(通过高程完成)。某些三星设备上材质按钮的默认样式不设置标高或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>
我在尝试对齐按钮阴影(通过高程完成)时遇到类似问题。某些三星设备上材质按钮的默认样式不设置标高或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>
Note 4是在KitKat上运行还是在Lollipop+上运行?我的Note 4在Android 6.0上运行,nexus在Android 7.0上运行只是一个想法:我想检查一下你使用的应用程序的主题或它的父母是否类似于@Android:style/theme.DeviceDefault。有时这会在不同的设备上产生不同的结果。@GeorgeTheodorakis我认为这个问题只存在于三星的deviceok上,试着改变你的主题(或者它的父母)比如@android:style/Theme.Material.Light.darkaActionBar。Note 4是在KitKat上运行还是在Lollipop+上运行?我的Note 4在android 6.0上运行,nexus在android 7.0上运行只是一个想法:我想检查一下你使用的应用程序的主题或它的父项是否类似于@android:style/Theme.DeviceDefault。有时,这会在不同的设备上产生不同的结果。@GeorgeTheodorakis我认为这个问题只存在于三星的deviceok上,尝试将主题(或其父项)更改为类似@android:style/theme.Material.Light.darkaActionBar的内容。如果将内容的高度设置为wrap\u,您是否仍能看到差异?另外,你使用的是什么背景?我将按钮的高度改为包裹内容,然后在注释4中看起来不错,但Nexus 6上的按钮比edittextWhat主题小。你使用的是什么主题?您是否有该主题中按钮的默认样式?如果您将高度设置为“包裹”内容,您是否仍能看到差异?另外,你使用的是什么背景?我将按钮的高度改为包裹内容,然后在注释4中看起来不错,但Nexus 6上的按钮比edittextWhat主题小。你使用的是什么主题?你有那个主题中按钮的默认样式吗?