我想在文字视图中添加阴影。我找到了添加渐变的解决方案和另一个解决方案,建议在原始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"/>
答案 0 :(得分:3)
我假设您想要将阴影放在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"
答案 1 :(得分:2)
您可以使用影子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
答案 2 :(得分:2)
只需在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>