Android TextView 上的内部阴影

7
在Android中,是否可以像这样在 TextView 的文本上添加内部阴影:

http://i.stack.imgur.com/88Mxd.png

谢谢!
3个回答

7

MagicTextView将会产生内部阴影。

enter image description here

    <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" />

注意:这是我制作的,我发布更多内容是为了未来的旅行者,而不是为了原帖作者。虽然有点儿像垃圾邮件,但与主题相关,也许可以接受?

我不建议使用当前版本的MagicTextView。该解决方案会导致无限的无效循环,并对性能产生巨大影响。由于布局永远不会稳定下来,因此您也不能依赖Instrumentation中的waitForIdleSync等功能。 - pakerfeldt
3
我之前已经解决了那个问题。在绘制过程中,invalidate/postInvalidate方法被禁用了。虽然这是一个相当大的性能杀手。 - ABentSpoon

2

阴影效果:

 <TextView
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="5sp"
    android:paddingTop="15sp"
    android:paddingBottom="15sp"
    android:typeface="normal"
    android:text="I'm normal (bold) font but I have a shadow"
    android:textSize="16sp"
    android:textStyle="bold"
    android:shadowColor ="#0f0f0f"
    android:shadowRadius="1.6"
    android:shadowDx="1.5"
    android:shadowDy="1.3"
    android:textColor="#000000"
    android:background="#ffffff"
    />

或者,您可以使用自己的字体,将它们放置在res/assets文件夹中:
TextView txt = (TextView) findViewById(R.id.custom_font);   
Typeface font = Typeface.createFromAsset(getAssets(), "my_font.ttf");  
txt.setTypeface(font);

或者查看以下链接了解详细信息:

http://www.barebonescoder.com/2010/05/android-development-using-custom-fonts/

http://www.giantflyingsaucer.com/blog/?p=1421


2
是的,但我不确定是否理解,新字体如何影响文本具有内部阴影? - alxscms
这个属性不是内部阴影。 - iman kazemayni

1

2
好的,谢谢。我已经看到你的帖子了,但我以为你要九宫格图片。 - alxscms
1
你能详细说明一下“调整文本颜色的alpha值和投影效果”是什么意思吗? 你所链接的问题中并没有回答这个问题。 - howettl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接