gpt4 book ai didi

Android 如何去除文字阴影?

转载 作者:行者123 更新时间:2023-11-29 15:26:15 29 4
gpt4 key购买 nike

我有一个带有一堆 TextView 的 android 程序。最初,所有这些 View 都没有阴影。

当我按下特定的切换按钮时,我希望这些 textView 脱颖而出。

理想情况下,我想为它们添加文本阴影发光效果。这个我有成功完成,没有问题 textView.setShadowLayer(radius, dx, dy, color)

问题是,如果我再次按下同一个切换按钮(这会使阴影出现),我需要移除阴影,这样文本就不会再突出显示了。

我尝试将阴影层设置为半径 0 和透明颜色 #00FFFFFF、#00000000 和颜色#FFFFFFFF、#FF000000。但是,这些都没有设置 textView到它出现的原始方式。

关于如何去除阴影的任何想法。 (我真的不必删除它,我只是希望文本以与添加之前相同的方式显示)

主要目标是使用切换按钮打开/关闭特定 textView 的文本突出显示,我对使用阴影以外的其他方法持开放态度。理想情况下,我想使用阴影,但任何其他突出文本的想法都可以。

(这部分是在我用 textLayer.setShadow(0,0,0,0) 收到的答案之后附加的;

我在布局 xml 中将此样式用于 textView

<style name="second">
<item name="android:textColor">@drawable/buttonBabyBlue</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">@dimen/second_text_size</item>
<item name="android:lines">1</item>
<item name="android:background">@drawable/baseGray</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">0dip</item>
<item name="android:layout_weight">8.5</item>
<item name="android:gravity">bottom|left</item>
<item name="android:layout_gravity">bottom</item>
</style>

当我按下使 View 有阴影的按钮时

text.setShadowLayer(GLOW_RADIUS, GLOW_DX, GLOW_DY, R.drawable.buttonBabyBlue);
text.setTextColor(R.drawable.baseGray);

然后去除阴影

text.setShadowLayer(0, 0, 0, 0);
text.setTextColor(R.drawable.buttonBabyBlue);

这很烦人,我有照片要显示并上传了,但是他们不让我给他们看,因为害怕垃圾邮件

最佳答案

调用 textview.setShadowLayer(0,0,0,0) 清除阴影层。


Paint 类中有一个 clearShadowLayer() 方法,但在内部它也会调用参数全为零的 setShadowLayer。所以这似乎对你不起作用。

我能想到的唯一其他方法是覆盖 onDraw 方法。维护一个使用阴影参数设置的 TextPaint 对象。

@Override
void setShadowLayer(.....) { // do not call super
paintWithShadowLayer.setShadowLayer(....); // the other with shadow layer set
}

@Override
void onDraw(Canvas canvas) {
super.onDraw(canvas);
...
if (bToggleON) {
canvas.drawText(text, index, count, x, y, paintWithShadowLayer);
} else {
canvas.drawText(text, index, count, x, y, getPaint());
}
...
}

关于Android 如何去除文字阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12662978/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com