Muszę utworzyć okrąg z numerem. Ale problem polega na tym, że niektóre liczby nie są w centrum, na przykład 1 pozostały bezpośrednio od centrum.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <corners android:radius="18dp"/>
        <solid android:color="@color/black"/>
</shape>

Ten sztywny jest tło tekstu

0
JJoe 3 czerwiec 2018, 17:26

3 odpowiedzi

Najlepsza odpowiedź

Spróbuj użyć atrybutu.

android:includeFontPadding="false"

 <TextView
    android:layout_width="18dp"
    android:layout_height="18dp"
    android:background="@drawable/test"
    android:gravity="center"
    android:textColor="@color/colorAccent"
    android:includeFontPadding="false"
    android:text="1"/>

enter image description here

1
SergeyBukarev 3 czerwiec 2018, 15:49

Utwórz plik Drawne pliki XML.

    <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        >
        <shape
            android:shape="oval">
            <solid android:color="#0288D1" />
        </shape>
    </item>
    <item>
        <shape
            android:shape="oval">
            <stroke android:width="2dp"
                android:color="#FFd200"/>
        </shape>
    </item>
</layer-list>
1
Bhumi patel 5 czerwiec 2018, 12:57

Utwórz plik round.xml w drawable

Ustaw to jako backgroundourse dla swojego textview.

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" android:useLevel="true"
    android:dither="true">
    <solid
        android:color="@android:color/white"/>
    <stroke
        android:color="@color/switcher_grey"
        android:width="@dimen/_1ssp"/>
</shape>
0
Dhruv 5 czerwiec 2018, 07:56