如何在 TextView 周围设置阴影
How do I Set the Shadow around TextView
<TextView
android:id="@+id/text"
android:layout_width="225dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_toRightOf="@+id/left"
android:background="@anim/chatitemshaodow"
android:fontFamily="calibri"
android:padding="8dp"
android:textColor="#636363"
android:textSize="17dp" />
这是我的 TextView
控件,我想在 TextView
周围设置阴影。我可以在 TextView
的文本上设置 Showdown,但我无法在 TextView
.
上设置阴影回合
我想像 android 中的给定屏幕一样设置文本视图阴影。
也许您会考虑使用 android:shadowColor、android:shadowDx、android:shadowDy、android:shadowRadius;或者 setShadowLayer() ?
有样式:
<style name="Text">
<item name="android:paddingLeft">4px</item>
<item name="android:paddingBottom">4px</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">12sp</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>
方法一:
<TextView android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/Text"
android:gravity="center" />
方法二:
TextView text= (TextView) findViewById(R.id.text);
infoTextView.setTextAppearance(getApplicationContext(),
R.style.Text);
创建一个新的可绘制资源文件。我将我的命名为 two_sided_border.xml.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is the line -->
<item>
<shape>
<solid android:color="@color/black" />
</shape>
</item>
<!-- This is the main color -->
<item android:bottom="2dp" android:right="2dp">
<shape>
<solid android:color="@color/green" />
</shape>
</item>
</layer-list>
然后将其用作文本视图的背景。
<TextView
android:id="@+id/t"
android:background="@drawable/two_sided_border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
您可以调整颜色和尺寸(填充、文字大小)以适应。
两个很棒的链接:
how to make stroke for 3 sides for a shape in android?
并从这里借用了一些代码:
Open-sided Android stroke?
ps Basil Miller 提供的另一个答案提供了为实际文本本身设置阴影的好方法。
这对我有用
android:shadowRadius="3"
android:shadowDy="-4"
<TextView
android:id="@+id/text"
android:layout_width="225dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_toRightOf="@+id/left"
android:background="@anim/chatitemshaodow"
android:fontFamily="calibri"
android:padding="8dp"
android:textColor="#636363"
android:textSize="17dp" />
这是我的 TextView
控件,我想在 TextView
周围设置阴影。我可以在 TextView
的文本上设置 Showdown,但我无法在 TextView
.
我想像 android 中的给定屏幕一样设置文本视图阴影。
也许您会考虑使用 android:shadowColor、android:shadowDx、android:shadowDy、android:shadowRadius;或者 setShadowLayer() ?
有样式:
<style name="Text">
<item name="android:paddingLeft">4px</item>
<item name="android:paddingBottom">4px</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">12sp</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">1</item>
</style>
方法一:
<TextView android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/Text"
android:gravity="center" />
方法二:
TextView text= (TextView) findViewById(R.id.text);
infoTextView.setTextAppearance(getApplicationContext(),
R.style.Text);
创建一个新的可绘制资源文件。我将我的命名为 two_sided_border.xml.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is the line -->
<item>
<shape>
<solid android:color="@color/black" />
</shape>
</item>
<!-- This is the main color -->
<item android:bottom="2dp" android:right="2dp">
<shape>
<solid android:color="@color/green" />
</shape>
</item>
</layer-list>
然后将其用作文本视图的背景。
<TextView
android:id="@+id/t"
android:background="@drawable/two_sided_border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
您可以调整颜色和尺寸(填充、文字大小)以适应。
两个很棒的链接:
how to make stroke for 3 sides for a shape in android?
并从这里借用了一些代码:
Open-sided Android stroke?
ps Basil Miller 提供的另一个答案提供了为实际文本本身设置阴影的好方法。
这对我有用
android:shadowRadius="3" android:shadowDy="-4"