gpt4 book ai didi

android - 将 v21 中的 AppCompatButton 设置为没有阴影和角半径为零

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:59:32 24 4
gpt4 key购买 nike

我有一个在 XML 布局中定义的 AppCompatButton,我已经为它设置了一个主题,如下所示:

android:theme="@style/CustomAccentOverlay"

我已经设置:

android:stateListAnimator="@null"

去除阴影。我有两个问题。

按钮的高度减去阴影的高度,即使没有显示阴影。我应该以其他方式移除阴影,还是如何解决这个问题?

按钮有圆角,我希望角是尖的。我无法在按钮上设置背景,因为我想保留标准的波纹效果,如果我设置背景,它就会消失(至少我不知道如果我设置背景如何保持它)。我试过设置

<item name="android:bottomLeftRadius">0dp</item>

以及 CustomAccentOverlay 主题的所有其他角及其相应的样式,但它不起作用。如何在我的按钮上将角半径设置为零?

谢谢
索伦

最佳答案

为按钮使用以下代码。

<android.support.v7.widget.AppCompatButton
android:layout_width="200dp"
android:layout_height="200dp"
android:text="Button"
android:stateListAnimator="@null"
android:elevation="0dp"
android:background="@android:color/darker_gray"
android:foreground="?attr/selectableItemBackground"
/>

我会解释属性。

  1. android:elevation="0dp"和 android:stateListAnimator="@null"。按钮没有阴影。

  2. 安卓:背景。将所需的颜色设置为背景。它删除了圆角。

  3. android:foreground="?attr/selectableItemBackground"。按下按钮时会产生涟漪效果。

更新 1:

View 的 android:foreground 属性似乎适用于 API 23。对于以下 API,在 drawable-v21 文件夹中创建一个带有波纹的 drawable 并将其设置为按钮的背景,

<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="NewApi"
android:color="@color/ripple_color">

<item android:drawable="@color/normal_state_button_background_color"/>

</ripple>

对于 Lollipop 之前的版本,在具有相同名称的 drawable 文件夹中创建一个带有选择器的 drawable。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/pressed_color"
android:state_pressed="true" />
<item android:drawable="@drawable/focused_color"
android:state_focused="true" />
<item android:drawable="@drawable/normal_color" />
</selector>

关于android - 将 v21 中的 AppCompatButton 设置为没有阴影和角半径为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com