【问题标题】:Add spreading Shadow to the bottom of button Android在Android按钮底部添加扩散阴影
【发布时间】:2017-04-14 14:56:24
【问题描述】:

我搜索了阴影按钮(如下所示),但没有找到所需的结果。我想要如下图所示。

我也试过How to provide shadow to Button

我还尝试了阴影的高程和平移 Z (z) android 方法,但没有任何帮助。请指导我完成这个。 谢谢。

【问题讨论】:

  • 使用海拔提供您的结果。
  • android:translationZ="@null" android:elevation="24dp"
  • @ThanhTranIT 已尝试此链接,但与我给定的图像不同。
  • 一个快速的解决方案,为此使用 9.patch 图片,告诉设计师创建带有底部阴影的那种类型的图片。

标签: android xml button


【解决方案1】:

drawable文件夹中创建您自己的xml文件并在您的按钮背景中设置。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--the shadow comes from here-->
    <item
        android:bottom="-6dp"
        android:drawable="@android:drawable/dialog_holo_light_frame"
        android:left="-6dp"
        android:right="-6dp"
        android:top="-6dp">

    </item>

    <item
        android:bottom="-6dp"
        android:left="-6dp"
        android:right="-6dp"
        android:top="-6dp">

        <shape android:shape="rectangle">
            <solid android:color="@color/transparent" />
        </shape>
    </item>
</layer-list>

【讨论】:

  • 它显示对话框阴影,但我使用自己的圆角粉色阴影。它是如何实现的?
  • 随心所欲地改变你的纯色。
  • 我不是说基色。我说对话框的背景阴影是黑色的,但我想要粉红色。并且对话阴影不会像我给定的图像那样扩散。
  • 如何改变阴影的颜色?
【解决方案2】:

将按钮的属性设置为

android:background="@android:drawable/dialog_holo_light_frame"
android:backgroundTint="@color/cool"

颜色适用于 api 21+,但您可以使用编程方式绕过此颜色

button.getBackground().mutate().setColorFilter(parseColor(tintColor), PorterDuff.Mode.SRC_ATOP);

【讨论】:

    【解决方案3】:

    使用此代码

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="@color/your_btncolor" />
                <corners android:radius="5dp" />
            </shape>
        </item>
        <item
            android:bottom="-15dp"
            android:left="-5dp"
            android:right="-5dp">
            <shape android:shape="rectangle">
                <solid android:color="@color/your_btn_shadowcolor" />
                <corners android:radius="5dp" />
            </shape>
        </item>
    </layer-list>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多