【问题标题】:how to add stroke on text如何在文本上添加笔画
【发布时间】:2019-11-29 16:29:26
【问题描述】:

我找不到在文本上画笔画的方法(在文本上,而不是在整个文本视图框上),笔画应该在字母周围。 是否可以实现任何自定义文本视图或库或绘图来绘制笔画

        <TextView
            style="@style/Header"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="150dp"
            android:text="HELLO DROID"
            />

我希望文本看起来像这样,(笔触颜色为红色)

【问题讨论】:

  • 您的意思是删除线文本吗?如果是,这个问题就是你的答案:stackoverflow.com/questions/3881553/…
  • @gpunto 谢谢,但不,这不是我要找的,笔划应该在字母周围。
  • 请添加您的预期输出和实际输出的截图吗?
  • @AndroidGeek 已编辑

标签: android-studio kotlin


【解决方案1】:

我尝试了以下两种向文本添加笔划的方法:

首先是给你的 TextView 添加阴影:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="50sp"
        android:textColor="@android:color/holo_blue_light"
        android:text="Hello"
        android:shadowRadius="10"
        android:shadowDx="1"
        android:shadowDy="1"
        android:shadowColor="@android:color/holo_red_dark"/>

上述代码的输出是:

第二次我找到了 GitHub 项目 android-outline-textviewPlease follow this Link

为此,您需要将StrokedTextView 和相关文件添加到您的项目中 之后在 XML 文件中添加以下代码:

 <com.skd.stackdemo.StrokedTextView
        android:id="@+id/stroke"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="60sp"
        android:text="Hello"
        android:textColor="@android:color/holo_blue_light"
        android:layout_marginTop="30dp"/>

在Java文件中添加以下代码:

StrokedTextView stroke = findViewById(R.id.stroke);
stroke.setStrokeColor(Color.RED);
stroke.setStrokeWidth(1f);

上述代码的输出是:

我希望它对你有用。

【讨论】:

  • 我强烈建议不要使用那个库。它在onDraw() 中调用setTextColor(),这会使TextView 无效,并导致无限重绘循环。仅供参考。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多