TextView Android

时间:2016-03-09 16:26:28

标签: android textview border

我正在使用那个“黑客”。 我已经在stackoverflow中阅读了这篇文章。

@Override
public void draw(Canvas canvas) {
    for (int i = 0; i < 20; i++) {
        super.draw(canvas);
    }
}

但是我的边框仍然是冰沙,我想在我的所有TextView上放置一个大而实心的边框(我已经让我的组件扩展了textview)。

当我在文本中点击文本颜色需要更改时,我有一个文本颜色的选择器。(它已经工作了,但我尝试使用画布应用另一种替代方法,在此替代方案中,我丢失了这个组合)。 / p>

enter image description here

2 个答案:

答案 0 :(得分:3)

此页面解决您的问题,您可以自定义样式:

How do I put a border around an Android textview?

您可以将形状可绘制(矩形)设置为视图的背景。

<TextView android:text="Some text" android:background="@drawable/back"/>

矩形drawable back.xml(放入res / drawable文件夹):

    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="#ffffff" />
   <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

您可以使用#00000000使纯色具有透明背景。您还可以使用填充来将文本与边框分开。有关详细信息,请参阅:http://developer.android.com/guide/topics/resources/drawable-resource.html

答案 1 :(得分:1)

您当前的解决方案(黑客)工作正常,您只需相应调整2个参数即可获得更好的“实体”阴影效果。

参数

第一个参数是TextView阴影半径。此参数决定模糊(阴影)效果在信件后面的“宽”范围。

第二个参数是for循环的重复计数器,它包裹了TextView的{​​{1}}方法。 更高的重复次数会通过权衡性能为您带来更“稳固”的阴影。

“固体”阴影

这里的规则是,阴影半径增量(↑)必须始终伴随增量重复计数器(↑)以实现“实心”阴影效果。< / p>

同样,如果你想通过减少重复计数器(↓)来获得性能,你也必须减少阴影半径(↓)

实心阴影onDraw(...)

TextView

样品

Solid shadow TextView