Android中文本的阴影效果?

Posted

技术标签:

【中文标题】Android中文本的阴影效果?【英文标题】:Shadow Effect for a Text in Android? 【发布时间】:2011-03-18 20:48:57 【问题描述】:

可能重复:android - shadow on text?

如何在TextView 中制作阴影效果文本。

有什么想法吗?

【问题讨论】:

任何人也可以查看此链接***.com/a/51761610/4307338 【参考方案1】:

将这些放在 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_
                  android:layout_
                  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_
                android:layout_
                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_
                android:layout_
                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 编辑器预览中不可见,但它可以在真实设备上作为魅力使用!!! 任何人也可以查看此链接***.com/a/51761610/4307338 这样一个可靠且视觉记录良好的答案 有帮助...谢谢【参考方案2】:

也许你会考虑使用android:shadowColor、android:shadowDxandroid:shadowDyandroid:shadowRadius;或者setShadowLayer()?

【讨论】:

这不会做任何改变。我认为它有效。但是我设置的值是一个问题。你能发布shadowdxshadowdyshadowradious的样本值吗? 您应该发布您的代码。同时,检查mobile.tutsplus.com/tutorials/android/customize-android-fonts 等示例中的标记(向下滚动到文本阴影部分)。 shadowdx,shadowdy 和 shadowradius 的单位是什么 @androiddeveloper 像素。 @skywall 为什么它们以像素为单位,而一切都是 dp ?这没有意义.. :(【参考方案3】:
TextView textv = (TextView) findViewById(R.id.textview1);
textv.setShadowLayer(1, 0, 0, Color.BLACK);

【讨论】:

似乎忽略了颜色并使用文本使用的任何内容 任何人都可以查看此链接***.com/a/51761610/4307338【参考方案4】:

完整答案

将这两行添加到父视图,否则当视图边界小于阴影偏移量时,文本阴影将被剪裁

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>

【讨论】:

以上是关于Android中文本的阴影效果?的主要内容,如果未能解决你的问题,请参考以下文章

android 文字怎么加阴影效果 怎么无效

ppt中如何对文字设置阴影效果

带有阴影效果的 HTML5 文本

android 上阴影效果怎么做

Android打造万能自定义阴影控件

BottomNavigationView - 阴影和波纹效果