如何而去掉android中Button自带的阴影效果

本文介绍如何在Android 5.0及更高版本中移除Button的默认阴影效果。通常,系统会自动为Button添加阴影,但有时这不符合UI设计需求。常见解决方案是设置style="?android:attr/borderlessButtonStyle",但这可能导致样式复用问题。文中提供了一种替代方法,通过在Button的style中指定parent="@style/Widget.AppCompat.Button.Borderless",并自定义其他属性如背景、文字大小和颜色,以此达到去除阴影且保持布局一致性的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 5.0以后的版本中,定义一个button时,系统自动会加一个阴影的效果,有的时候这种效果看起来比较好,有的时候不符合UI的设计要求,这时候就需要手动去掉阴影。

网上很多文章写了解决办法,就是给button加一句话style="?android:attr/borderlessButtonStyle",这个确实能解决问题,但是又带来了另外一个问题,就是一般情况下,在写布局的时候,都会给每个控件写一个style,这样方便复用,比如我写了一个button,引了一个style,但是这句话又得加一个style,这样肯定就不行了,这时候有另外一个方法来解决,就是给button的style加一个parent


解决办法:


[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <Button  
  2.         style="@style/Button_List_Style"  
  3.         android:text="测试按钮" />  

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <style name="Button_List_Style" parent="@style/Widget.AppCompat.Button.Borderless">  
  2.         <item name="android:minWidth">100dp</item>  
  3.         <item name="android:minHeight">30dp</item>  
  4.         <item name="android:layout_width">wrap_content</item>  
  5.         <item name="android:layout_height">wrap_content</item>  
  6.         <item name="android:background">@drawable/btn_black_border_list</item>  
  7.         <item name="android:textSize">@dimen/text_size_small</item>  
  8.         <item name="android:textColor">@color/color_black</item>  
  9. </style>  

加上这句parent="@style/Widget.AppCompat.Button.Borderless"就可以了,这样阴影就没有了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值