繁体   English   中英

将阴影添加到圆角TextView?

[英]Adding shadow to Rounded corner TextView?

我想在文本视图中添加阴影。 我找到了用于添加渐变的解决方案,以及另一种建议创建一个重复的文本视图的解决方案,该文本视图在原始textView的背面具有较浅的阴影以提供阴影效果。 但是我想要一个真正的阴影效果。

这就是我尝试的。我创建了一个xml文件rounded_corner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <stroke
        android:width="1dp"
        android:color="#33000000"
        android:dashWidth="3dp"
        />

    <solid android:color="#000000" />
    <padding

        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />

    <corners android:radius="10dp"
        />

</shape>

我添加了海拔和translationz,但在输出中未显示阴影

<TextView
        android:background="@drawable/rounded_corners"

        android:layout_width="260dp"
        android:layout_height="70dp"
        android:textSize="50sp"
        android:text="Welcome User"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="20dp"
        android:textColor="#000000"
        android:elevation="50dp"
        android:translationZ="10dp"
        android:id="@+id/welcome"/>

我假设您要在TextView而不是文本本身上放置阴影。 您可以在圆角可绘制文件中创建一个图层列表,如下所示:

<?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="@android:color/black" />
            <corners android:radius="3dp" />
        </shape>
    </item>
    <item android:bottom="2dp" android:right="2dp">
        <shape  android:shape="rectangle">
            <solid android:color="#282828" />
            <stroke android:width="1dp" android:color="#302f2f" />
        </shape>
    </item>
</layer-list>

如果将drawable用作TextView的背景

<TextView
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/rounded_corner"

输出将像这样链接: 在此处输入图片说明

您可以使用阴影XML属性。

android:shadowColor="#000"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="50"

有关更多信息,请检查此链接, https://developer.android.com/reference/android/widget/TextView.html#attr_android:shadowColor

只需在TextView XML上输入以下内容即可在文字上产生阴影:

android:shadowColor="@android:color/holo_purple"
android:shadowDx="10"
android:shadowDy="10"
android:shadowRadius="5"

您可以根据自己的喜好进行编辑。 并为所有输入中的阴影创建一个Drawable文件,或多或少像这样:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<!-- Bottom 2dp Shadow -->
<item>
    <shape android:shape="rectangle" >
        <solid android:color="#d8d8d8" />

    </shape>
</item>

<!-- White Top color -->
<item android:bottom="4px" android:left="0px" android:right="4px" android:top="0px">
    <shape android:shape="rectangle" >
        <solid android:color="#FFFFFF" />

    </shape>
</item>

</layer-list>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM