7he*_*ing 45 android button android-5.0-lollipop
对于api <21,按钮看起来很好.但是,+ 21版本会创建此边框或阴影,如下图所示.如何在不更改孔主题的情况下摆脱它,但设置样式变量?
在这张彩色图像上可能会更清楚.按钮周围有某种边框.
我的buttonssstyle定义如下:
<style name="buttonTransparent" parent="Base.TextAppearance.AppCompat.Button">
<item name="android:background">#00000000</item>
<item name="android:textColor">@drawable/button_text_blue</item>
<item name="android:textSize">18dp</item>
<item name="android:textAllCaps">false</item>
<item name="android:minHeight">45dp</item>
</style>
<style name="buttonLargeWhite" parent="buttonTransparent">
<item name="android:background">#FFF</item>
<item name="android:layout_marginTop">10dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
dae*_*mie 186
Lollipop有一个令人讨厌的小功能叫做stateListAnimator
处理按钮上的高程,这会导致阴影.
删除stateListAnimator
以摆脱阴影.
你有多种选择:
Java的:
button.setStateListAnimator(null);
Run Code Online (Sandbox Code Playgroud)
科特林:
button.stateListAnimator = null
Run Code Online (Sandbox Code Playgroud)
或者在你的布局xml中:
<Button
...
android:stateListAnimator="@null"
....
/>
Run Code Online (Sandbox Code Playgroud)
Won*_*res 39
我正在使用的最好和最简单的方法是将样式属性设置为Button
<Button
...
style="?android:attr/borderlessButtonStyle"
....
/>
Run Code Online (Sandbox Code Playgroud)
未来可能有人需要.
已经有一种风格,你可以利用没有边框.
应用
style="@style/Base.Widget.AppCompat.Button.Borderless"
Run Code Online (Sandbox Code Playgroud)
到您的项目删除边框
小智 7
android 中的按钮具有 statelistAnimator 属性,因此通过将其声明为 null 我们可以删除按钮的边框
android:stateListAnimator="@null"
Run Code Online (Sandbox Code Playgroud)
我解决了这个全球通过设置android:stateListAnimator="@null"
在Resources\values\styles.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:buttonStyle">@style/NoShadowButton</item>
</style>
<style name="NoShadowButton" parent="android:style/Widget.Button">
<item name="android:stateListAnimator">@null</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
瞧,阴影已经消失了:)
在棒棒糖Appcompat主题上添加了“阴影”效果
在res / values-v21 / styles.xml中添加以下行以删除默认阴影
主题级别:
<item name="android:buttonStyle">@style/Widget.AppCompat.Button.Borderless</item>
Run Code Online (Sandbox Code Playgroud)
xml布局:
android:stateListAnimator="@null"
Run Code Online (Sandbox Code Playgroud)
Java:
setStateListAnimator(null);
Run Code Online (Sandbox Code Playgroud)
科特林:
stateListAnimator = null
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
40304 次 |
最近记录: |