如何删除按钮阴影(android)

     2023-02-22     159

关键词:

【中文标题】如何删除按钮阴影(android)【英文标题】:How to remove button shadow (android) 【发布时间】:2015-04-29 15:09:46 【问题描述】:

我想去掉按钮的阴影,让它看起来更平坦。

我现在有这个:

但我想要这个:

【问题讨论】:

我在这里写评论,这对我有用。 [***.com/questions/27867284/…[1]:***.com/questions/27867284/… ***.com/questions/27408240/… 【参考方案1】:

将其用作按钮的背景可能会有所帮助,根据需要更改颜色

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape android:shape="rectangle">
            <solid android:color="@color/app_theme_light" />
            <padding
                android:left="8dp"
                android:top="4dp"
                android:right="8dp"
                android:bottom="4dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/app_theme_dark" />
            <padding
                android:left="8dp"
                android:top="4dp"
                android:right="8dp"
                android:bottom="4dp" />
        </shape>
    </item>
</selector>

【讨论】:

您能解释一下这是如何工作的吗?它没有为我移除阴影。 它将原始背景替换为阴影,此背景为纯色【参考方案2】:

另一种选择是添加

style="?android:attr/borderlessButtonStyle"

到您的 Button xml,如此处所述 http://developer.android.com/guide/topics/ui/controls/button.html

一个例子是

<Button
android:id="@+id/button_send"
android:layout_
android:layout_
android:text="@string/button_send"
android:onClick="sendMessage"
style="?android:attr/borderlessButtonStyle" />

【讨论】:

这会删除按钮样式,例如阴影和浮雕。添加带有形状的选择器是可选的。这是一个更准确的答案。 另外,我为我的按钮使用了自定义样式。您可以扩展您的自定义样式: 【参考方案3】:

我使用自定义样式

<style name="MyButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless"></style>

别忘了添加

<item name="android:textAllCaps">false</item>

否则按钮文本将大写。

【讨论】:

【参考方案4】:

试试:android:stateListAnimator="@null"

【讨论】:

虽然这可能会解决 OP 的问题,但我建议为其添加一些上下文。为什么会有帮助?此外,“试试这个”有点误导。你确定它会解决问题,还是只是猜测?如果是这样,你应该写一个评论。 它需要 API 21。【参考方案5】:

一种更简单的方法是将此标签添加到您的按钮:

android:stateListAnimator="@null"

虽然它需要 API 级别 21 或更高..

【讨论】:

对我很有帮助 我更喜欢这种方法,它更灵活。 @Alon Kogan,使用 android:stateListAnimator 属性是否有任何向后兼容性? 此解决方案允许您创建一个必须继承自 borderlessButtonStyle 样式的样式机器人,从而为您提供更大的灵活性。 这只是对我有用的解决方案,borderlessButtonStyle 标签不起作用,因为我需要在按下按钮时摆脱阴影【参考方案6】:

@Alt-Cat 答案对我有用!

R.attr.borderlessButtonStyle 不包含阴影。

而且按钮的文档很棒。

此外,您可以在自定义按钮上设置此样式,在第二个构造函数中。

    public CustomButton(Context context, AttributeSet attrs) 
        this(context, attrs, R.attr.borderlessButtonStyle);
    

【讨论】:

【参考方案7】:

科特林

stateListAnimator = null

Java

setStateListAnimator(null);

XML

android:stateListAnimator="@null"

【讨论】:

简单干净。 需要 API 级别 21 或更高 在将 stateListAnimator 设置为 null 按钮后变得不可见,有人遇到这种情况吗? 这不仅可以消除阴影。【参考方案8】:

您可以使用 TextView 代替 Button,并在 java 代码中添加点击侦听器。

在活动布局xml中:

<TextView
    android:id="@+id/btn_text_view"
    android:layout_
    android:layout_
    android:background="@color/colorPrimaryDark"
    android:text="@string/btn_text"
    android:gravity="center"
    android:textColor="@color/colorAccent"
    android:fontFamily="sans-serif-medium"
    android:textAllCaps="true" />

在活动java文件中:

TextView btnTextView = (TextView) findViewById(R.id.btn_text_view);
btnTextView.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View v) 
                // handler code
            
        );

【讨论】:

这不是正确答案,但您实际上帮助我解决了类似问题,所以谢谢! 啊哈!好主意——让我快速解决问题——【参考方案9】:

材料设计按钮添加到按钮 xml: style="@style/Widget.MaterialComponents.Button.UnelevatedButton"

【讨论】:

有时和***.com/a/38004981/2914140类似,但是禁用状态下的灰色按钮变亮了。【参考方案10】:

以上所有答案都很好,但我会建议另一种选择:

<style name="FlatButtonStyle" parent="Base.Widget.AppCompat.Button">
 <item name="android:stateListAnimator">@null</item>
 <!-- more style custom here --> 
</style>


【讨论】:

类似于 Alon Kogan (***.com/a/39122825/2914140)。 这与上面的 5ish 有何不同?【参考方案11】:

带有自定义按钮;使用样式R.style.Widget_AppCompat_Button_Borderless,Kotlin 方式-

class CSButton @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = R.style.Widget_AppCompat_Button_Borderless
) : AppCompatButton(context, attrs, defStyleAttr)

【讨论】:

如果单击,如何删除按钮中的蓝色框阴影边框

】如果单击,如何删除按钮中的蓝色框阴影边框【英文标题】:Howtoremovetheblueboxshadowborderinbuttonifclicked【发布时间】:2014-08-0501:04:38【问题描述】:如果按钮被点击,我想做的是在我的班级btnd中删除按钮蓝色框阴影效果。当前out... 查看详情

如何从浮动操作按钮中删除那些深色圆形背景?

...人怎么找不到去除这种阴影的方法。xmlns:app="http://schemas.android 查看详情

如何在android材料设计风格中创建按钮阴影

】如何在android材料设计风格中创建按钮阴影【英文标题】:Howtocreatebuttonshadowinandroidmaterialdesignstyle【发布时间】:2014-08-1800:08:53【问题描述】:新的材料设计指南引入了高架按钮,这些按钮可以投射出漂亮的阴影。根据预览版SD... 查看详情

Android L FAB 按钮阴影

】AndroidLFAB按钮阴影【英文标题】:AndroidLFABButtonshadow【发布时间】:2014-08-2006:02:55【问题描述】:在材料设计指南中,Google提出了anewstyleofbutton,FAB按钮。我找到了如何制作它的说明,但我无法添加阴影。如何实现?【问题讨论... 查看详情

Android L FAB 按钮阴影

】AndroidLFAB按钮阴影【英文标题】:AndroidLFABButtonshadow【发布时间】:2014-08-2006:02:55【问题描述】:在材料设计指南中,Google提出了anewstyleofbutton,FAB按钮。我找到了如何制作它的说明,但我无法添加阴影。如何实现?【问题讨论... 查看详情

如何在 Android TV 的 ListItemPresenter 中删除默认阴影

】如何在AndroidTV的ListItemPresenter中删除默认阴影【英文标题】:HowtoremovedefaultshadowinListItemPresenterinandroidTV【发布时间】:2021-02-2408:26:14【问题描述】:如何去除ListItemPresenter中默认的黑色阴影(黑色阴影或每个角落),附上演示... 查看详情

如何在android中使用渐变阴影按钮制作渐变恒定发光?

】如何在android中使用渐变阴影按钮制作渐变恒定发光?【英文标题】:Howtomakeagradentconstant-glowwithgradientshadowbuttoninandroid?【发布时间】:2020-01-1221:13:17【问题描述】:我知道这个话题之前已经讨论过,但我没有找到我真正想要的... 查看详情

如何在android的linearlayout中删除阴影?

】如何在android的linearlayout中删除阴影?【英文标题】:howtoremoveshadowinlinearlayoutinandroid?【发布时间】:2015-09-0313:40:40【问题描述】:我正在为自定义对话框警报设计一个带有圆角的线性布局,当它弹出时,即使没有提及背景为黑... 查看详情

如何删除或隐藏工具栏的顶部阴影

】如何删除或隐藏工具栏的顶部阴影【英文标题】:Howtoremoveorhidethetoolbars\'topshadow【发布时间】:2012-12-2407:06:52【问题描述】:删除工具栏的背景后,使用图像蒙版,工具栏上方仍保留一条阴影线。我们如何摆脱它?如您所见,... 查看详情

Fullcalendar 删除按钮边框/阴影

】Fullcalendar删除按钮边框/阴影【英文标题】:Fullcalendarremovebuttonsborders/shadow【发布时间】:2022-01-0119:59:30【问题描述】:我尝试删除FullcalendarButtons边框。.fc-buttonborder:0px!important;但是当我点击它时,会出现一个新的边框:并且没... 查看详情

Android 如何去除文字阴影?

】Android如何去除文字阴影?【英文标题】:AndroidHowtoRemoveTextShadow?【发布时间】:2012-09-2116:39:56【问题描述】:我有一个带有一堆文本视图的android程序。最初,所有这些视图都没有阴影。当我按下特定的切换按钮时,我希望这... 查看详情

flash按钮的阴影效果如何做

...给这个按钮加上阴影,让按钮显得具有立体感,请问应该如何做呢在按钮编辑模式下,选中里面的长方形形状,按F8转成影片剪辑,在滤镜面板中添加投影。第二种方法:1.绘制带边框的长方形。1.在按钮编辑模式下,选中长方形... 查看详情

android支持设计库提供的FAB如何添加阴影?

】android支持设计库提供的FAB如何添加阴影?【英文标题】:HowtoaddshadowtotheFABprovidedwiththeandroidsupportdesignlibrary?【发布时间】:2015-08-1212:20:09【问题描述】:标题很自我解释。以下代码不会在浮动操作按钮下方呈现阴影。可以做些... 查看详情

Android海拔没有在按钮上显示阴影

】Android海拔没有在按钮上显示阴影【英文标题】:AndroidelevationnotshowingshadowonButton【发布时间】:2016-11-1116:52:01【问题描述】:无法显示按钮阴影。将我的代码精简为最小示例:activity_main.xml<?xmlversion="1.0"encoding="utf-8"?><Scro... 查看详情

如何摆脱右侧阴影但保持按钮上的底部阴影

】如何摆脱右侧阴影但保持按钮上的底部阴影【英文标题】:Howtogetridrightsideshadowbutmaintainbottomshadowonbutton【发布时间】:2018-03-1306:39:52【问题描述】:我有循环创建一行按钮,我有以下代码来设置阴影。如何摆脱右侧阴影但保持... 查看详情

android——点击按钮的阴影动画

参考技术A使用translationZ的属性使按钮在z轴方向上移,并且设置上移的时间,产生悬浮动画的效果。再次使用translationZ设置按钮在z轴方向下移,回到原位。效果: 查看详情

如何在按下 UIButton 的按钮时关闭按钮阴影?

】如何在按下UIButton的按钮时关闭按钮阴影?【英文标题】:HowtoturnoffbuttonshadowonbuttonpressofUIButton?【发布时间】:2011-08-2220:07:55【问题描述】:我在InterfaceBuilder中创建了一个UIButton。当用户按下按钮时,整个按钮呈灰色阴影。有... 查看详情

Android:如何从键盘上删除自定义键盘按钮?

】Android:如何从键盘上删除自定义键盘按钮?【英文标题】:Android:Howtoremovecustomizekeyboardbuttonfromkeyboard?【发布时间】:2020-02-1608:49:26【问题描述】:请在屏幕截图下方找到圆形框显示自定义按钮选项。XML代码:<EditTextandroid:id... 查看详情