how to add border to a text in textview android

2019-02-06 02:04发布

问题:

In Android, how can you add a border around a text? I want a border around the text in TextView not around the TextView.Is there any way to do it in? If so, please point me to the proper steps needed to do..

回答1:

Try this..

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    android:textColor="#f8f36a"
    android:textSize="65sp"
    android:shadowColor="#ff0000" 
    android:shadowRadius="2"/>

and the result is

You can create custom border for text like this..Here is a sample application.



回答2:

You can create style for this..

Here is sample style for borderline on text..

Style.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">
 <style name="shadoweffect">
        <item name="android:paddingLeft">4px</item>
        <item name="android:paddingBottom">4px</item>
        <item name="android:textColor">#FFFFFF</item>
        <item name="android:textSize">25sp</item>
        <item name="android:shadowColor">#000000</item>
        <item name="android:shadowDx">0</item>
        <item name="android:shadowDy">0</item>
        <item name="android:shadowRadius">3</item>
    </style>

</resources>

Apply style on your TextView

 <TextView
      style="@style/shadoweffect"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="your_text" />


回答3:

Android does not have such feature originally. A few months ago, I had to develop a similar feature, and I used some trick. In that case I used the shadow attribute. In your case on TextView.onDraw() call super() two times. Set the typeface to bold and set the color to border color and call one time, and set normal and call second time. That will work.



回答4:

You can use any TextEditors to create a border for ur text and you can add to the code