【发布时间】:2011-03-18 20:48:57
【问题描述】:
【问题讨论】:
-
任何人也可以查看此链接stackoverflow.com/a/51761610/4307338
【问题讨论】:
将这些放在 values/colors.xml 中
<resources>
<color name="light_font">#FBFBFB</color>
<color name="grey_font">#ff9e9e9e</color>
<color name="text_shadow">#7F000000</color>
<color name="text_shadow_white">#FFFFFF</color>
</resources>
然后在您的布局 xml 中,这里有一些 TextView 的示例
Light with Dark shadow 上的浮动文本示例
<TextView android:id="@+id/txt_example1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="@color/light_font"
android:shadowColor="@color/text_shadow"
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="2" />
光与暗阴影蚀刻文本示例
<TextView android:id="@+id/txt_example2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="@color/light_font"
android:shadowColor="@color/text_shadow"
android:shadowDx="-1"
android:shadowDy="-1"
android:shadowRadius="1" />
Light with Dark shadow 上清晰文本示例
<TextView android:id="@+id/txt_example3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="@color/grey_font"
android:shadowColor="@color/text_shadow_white"
android:shadowDx="-2"
android:shadowDy="-2"
android:shadowRadius="1" />
注意正值和负值...我建议您自己尝试颜色/值,但最终您可以调整这些设置以获得您想要的效果。
【讨论】:
也许你会考虑使用android:shadowColor、android:shadowDx、android:shadowDy、android:shadowRadius;或者setShadowLayer()?
【讨论】:
shadowdx、shadowdy和shadowradious的样本值吗?
TextView textv = (TextView) findViewById(R.id.textview1);
textv.setShadowLayer(1, 0, 0, Color.BLACK);
【讨论】:
完整答案
将这两行添加到父视图,否则当视图边界小于阴影偏移量时,文本阴影将被剪裁
android:clipChildren="false"
android:clipToPadding="false"
示例:
<androidx.constraintlayout.widget.ConstraintLayout
android:clipChildren="false"
android:clipToPadding="false"
... >
<TextView
style="@style/TextShadowStyle"
....
/>
文字阴影样式:
<style name="TextShadowStyle">
<item name="android:shadowColor">@color/black</item>
<item name="android:shadowDx">10</item>
<item name="android:shadowDy">10</item>
<item name="android:shadowRadius">5</item>
</style>
【讨论】: