Chr*_*isX 1 xml android material-design
我正在测试Android上的API21应用程序!不幸的是,我的按钮看起来很奇怪 - 添加了某种背景颜色.背景图像没有变化 - 除边框外,它们完全透明.(不同的文字和大小是由截图引起的).
在这里您可以看到API 21之前和之后的按钮:http://imgur.com/9EEcl0o,yVEnJkI#0
我已经尝试过android:elevation ="0dp"和android:background ="@ android:color/transparent".谁知道为什么我的按钮会改变?非常感谢你!
layout.xml:
<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"/>
Run Code Online (Sandbox Code Playgroud)
menu_btn_selector.xml:
<item android:drawable="@drawable/menu_button"
android:state_pressed="false"/>
Run Code Online (Sandbox Code Playgroud)
style.xml:
<style name="lbm_button" parent="android:Theme.Holo.Light">
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
材质按钮具有默认的stateListAnimator,它提供基于状态的高程(例如,禁用时为0dp,启用时为1dp).您可以通过在您的样式中设置android:stateListAnimator ="@ null"或直接在Button上清除它.
这是你的按钮XML上的样子:
<Button android:id="@+id/sm_achievements_btn"
...
android:textAllCaps="false"
android:stateListAnimator="@null" />
Run Code Online (Sandbox Code Playgroud)
此外,您使用了错误的父级按钮样式.您永远不应将主题设置为窗口小部件样式的父级.无论如何,如果您更喜欢这条路线,这应该是什么样子:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3053 次 |
| 最近记录: |