【问题标题】:Is there a way to add inner shadow to a TextView on Android?有没有办法在 Android 上向 TextView 添加内部阴影?
【发布时间】:2011-07-29 09:46:03
【问题描述】:

我想在textview 上创建一个inner shadow,但我在网上找不到任何示例。

有没有办法在 Android 上做到这一点?

我知道这些属性:

android:shadowColor
android:shadowRadius
android:shadowDx
android:shadowDy

我错过了什么有用的东西吗?

【问题讨论】:

  • 我只是尝试将负值设置为 android:shadowDy android:shadowDx 和 android:shadowRadius 但这并不能解决任何问题。有什么想法吗?

标签: android textview shadow


【解决方案1】:

如果您正在寻找这样的内部阴影:

你可以试试MagicTextView

    <com.qwerjk.better_text.MagicTextView
        xmlns:qwerjk="http://schemas.android.com/apk/res/com.qwerjk.better_text"
        android:textSize="42dp"
        android:textColor="#FFffff00"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:padding="10dp"
        qwerjk:innerShadowDy="3"
        qwerjk:innerShadowColor="#FF000000"
        qwerjk:innerShadowRadius="5"
        android:text="InnerShadow" />

注意:我做了这个,并且为了未来的旅行者,我发布了比 OP 更多的信息。 这是边缘垃圾邮件,但在主题上,也许可以接受?

【讨论】:

  • 很好的突破,这在android中仍然是一个问题。 (内阴影)这仅适用于文本还是可以为任何视图设置?
  • 我没有想过让这个工作适用于其他视图。通常,我只是将一个带有 GradientDrawable 背景的 View 放到我想要着色的 View 的 FrameLayout 中。不过,只需要添加一个 xml 属性就好了。
  • 它在 ICS 和以前的版本上运行良好,但在 Jelly Bean 上它不起作用。
【解决方案2】:

如果你想让TextView 有这样的内阴影:

你必须像这样使用 9-patch drawable:

将 9-patch drawable 设置为 TextView 的背景。

您提到的属性:android:shadowColor, android:shadowRadius, android:shadowDx, android:shadowDy 用于其他目的,它们会创建文本阴影:

【讨论】:

  • 我下载并测试了图像,但它显示得很丑。如何去除黑线?如何修改以获得雕刻风格的文本视图?谢谢。
  • 如果您指的是帖子中的图片。这是一个 9-patch png。黑线是有目的的。没有它们就行不通。阅读文档developer.android.com/guide/topics/graphics/… 我认为这不适用于雕刻风格的文本。我想为此需要特殊的字体、图像或特殊视图。
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 2013-01-04
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多