texto style studio propiedades mostrar example eventos edittext array android android-layout special-characters android-textview

style - string-array android studio



¿Cómo agrego un símbolo de viñeta en TextView? (7)

Así es como terminé haciéndolo.

<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <View android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/circle" android:drawableStart="@drawable/ic_bullet_point" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:text="Your text" android:textColor="#000000" android:textSize="14sp" /> </LinearLayout>

y el código para drawbale / circle.xml es

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadius="0dp" android:shape="ring" android:thickness="5dp" android:useLevel="false"> <solid android:color="@color/black1" /> </shape>

Tengo un TextView y quiero agregar un símbolo de viñeta en mi texto a través de XML. ¿Es posible?


Con Unicode podemos hacerlo fácilmente, pero si desea cambiar el color de la viñeta, probé con una imagen de bala de color y la configuré como dibujable a la izquierda y funcionó

<TextView android:text="Hello bullet" android:drawableLeft="@drawable/bulleticon" > </TextView>


Copiar pegar: •. Lo he hecho con otros personajes extraños, como ◄ y ►.

Editar: here un ejemplo. Los dos Button en la parte inferior tienen android:text="◄" y "►" .


Dado que Android no admite elementos <ol>, <ul> or <li> html, tuve que hacerlo así

<string name="names"><![CDATA[<p><h2>List of Names:</h2></p><p>&#8226;name1<br />&#8226;name2<br /></p>]]></string>

si desea mantener un espacio personalizado, utilice </pre> tag


Esto funcionó para mí:

<string name="text_with_bullet">Text with a /u2022</string>


Prolly es una mejor solución en algún lado, pero esto es lo que hice.

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableRow> <TextView android:layout_column="1" android:text="•"></TextView> <TextView android:layout_column="2" android:layout_width="wrap_content" android:text="First line"></TextView> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="•"></TextView> <TextView android:layout_column="2" android:layout_width="wrap_content" android:text="Second line"></TextView> </TableRow> </TableLayout>

Funciona como usted quiere, pero una solución realmente.


Debes usar la codificación de caracteres correcta para lograr este efecto. Podrías probar con &#8226;


Actualizar

Solo para aclarar: use setText("/u2022 Bullet"); para agregar la viñeta programáticamente. 0x2022 = 8226