Android API 21更改我的自定义按钮背景
我正在Android上测试我的API21应用程序!不幸的是,我的按钮看起来很奇怪——添加了某种背景色。背景图像没有改变-除了边界,它们是完全透明的。(不同的文本和大小取决于屏幕截图) 在这里,您可以看到API 21之前和之后的按钮: 我已经试过android:elevation=“0dp”和android:background=“@android:color/transparent”。有人知道我的钮扣为什么会变吗?多谢各位 layout.xml:Android API 21更改我的自定义按钮背景,android,xml,material-design,Android,Xml,Material Design,我正在Android上测试我的API21应用程序!不幸的是,我的按钮看起来很奇怪——添加了某种背景色。背景图像没有改变-除了边界,它们是完全透明的。(不同的文本和大小取决于屏幕截图) 在这里,您可以看到API 21之前和之后的按钮: 我已经试过android:elevation=“0dp”和android:background=“@android:color/transparent”。有人知道我的钮扣为什么会变吗?多谢各位 layout.xml: <Button android:id="@
<Button android:id="@+id/sm_achievements_btn"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1.1"
android:background="@drawable/menu_btn_selector"
android:onClick="showAchievements"
android:text="@string/sm_achievements_btn"
android:padding="@dimen/padding_std"
android:layout_marginTop="@dimen/margin_small"
android:textColor="@color/button_text"
android:textSize="@dimen/text_xlarge"
style="@style/lbm_button"/>
menu_btn_selector.xml:
<item android:drawable="@drawable/menu_button"
android:state_pressed="false"/>
style.xml:
<style name="lbm_button" parent="android:Theme.Holo.Light">
<item name="android:textAllCaps">false</item>
</style>
假的
材质按钮有一个默认的stateListAnimator,提供基于状态的高程(例如,禁用时为0dp,启用时为1dp)。您可以通过在样式中或直接在按钮上设置android:stateListAnimator=“@null”来清除它
下面是按钮XML上的内容:
<Button android:id="@+id/sm_achievements_btn"
...
android:textAllCaps="false"
android:stateListAnimator="@null" />
此外,您的按钮样式使用了错误的父项。决不能将主题设置为小部件样式的父级。不管怎样,如果您喜欢这条路线,下面是它的外观:
<Button android:id="@+id/sm_achievements_btn"
...
style="@style/MyButtonStyle" />
<style name="MyButtonStyle" parent="android:Widget.Material.Light.Button">
<item name="android:textAllCaps">false</item>
<item name="android:stateListAnimator">@null</item>
</style>
假的
@空的
非常感谢!家长的改变确实给我带来了一些问题,也许是因为我也有一些自定义按钮视图——我会解决的。多谢各位!谢谢android:stateListAnimator=“@null”帮我搞定了。