1. Bagaimana saya bisa menggambar bentuk seperti gambar terlampir.

    <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <stroke
        android:width="8dp"
        android:color="#00A79E"/>
    
    <solid
        android:color="#e5e5e5"/>
    

enter image description here

  1. Menggunakan Gambar 9-Patch memberi saya gambar yang rusak masukkan deskripsi gambar di sini android
0
faisaljanjua 18 Desember 2017, 13:44
Sembilan tambalan Anda belum dibuat dengan benar, karena sebenarnya Anda dapat melakukannya dengan menggunakan 9 tambalan.
 – 
Phantômaxx
18 Desember 2017, 15:02
Cukup ganti nama file seperti 'x.9.png' lalu pilih penanda. dan simpan, tutup. Panggil di latar belakang sebagai 'x'.
 – 
faisaljanjua
18 Desember 2017, 15:04
Tidak, itu tidak bekerja seperti itu. Ada aturan yang harus diikuti saat membuat 9 patch, untuk membuatnya berfungsi dengan baik.
 – 
Phantômaxx
18 Desember 2017, 15:07

4 jawaban

Jawaban Terbaik

Anda dapat mencapai tata letak sesuai keinginan Anda dengan menyematkannya dengan menggunakan Daftar lapisan

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <stroke android:color="#24744f" android:width="10dp"/>
            <solid android:color="#fff"/>
        </shape>
    </item>
    <item android:top="10dp" android:bottom="10dp" android:left="10dp" android:right="10dp">
        <shape android:shape="oval">
            <gradient android:angle="90" android:startColor="@color/colorPrimary"/>
            <stroke android:color="#fff" android:width="10dp"/>
        </shape>
    </item>

    <item
        android:bottom="40dp"
        android:drawable="@drawable/ic_launcher_foreground"
        android:left="40dp"
        android:right="40dp"
        android:top="40dp" />
</layer-list>

Dan hasilnya seperti gambar terlampir,

enter image description here

9
Fenil Patel 18 Desember 2017, 14:06
Bagaimana jika perlu beberapa teks untuk menggantikan ikon android.
 – 
faisaljanjua
18 Desember 2017, 14:48
@faisal, Anda perlu mengatur bentuk gradien ini sebagai latar belakang View dan mengatur teks ke Textview.
 – 
Fenil Patel
18 Desember 2017, 14:51
Ya, melakukan ini seperti yang Anda sarankan, tetapi bentuknya menjadi oval.
 – 
faisaljanjua
18 Desember 2017, 14:59
Tidak masalah Anda dapat memberikan tinggi dan lebar tetap di dalam file gradien, sehingga bentuk lingkaran menjadi seperti itu <size android:width="250dp" android:height="250dp"/>
 – 
Fenil Patel
18 Desember 2017, 15:01
Hai @FenilPatel, Apakah ada cara agar kami dapat terhubung?
 – 
Arijit Mukherjee
31 Desember 2017, 15:49

Anda dapat menggunakan layer-list

LayerDrawable adalah objek drawable yang mengelola array drawable lainnya. Setiap sumber daya dapat digambar dalam daftar digambar dalam urutan daftar—sumber daya dapat digambar terakhir dalam daftar digambar di atas

<?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="#e5e5e5" />
        </shape>
    </item>
    <item android:top="10dp" android:bottom="10dp" android:left="10dp" android:right="10dp">
    <shape android:shape="oval">
        <gradient android:angle="90" android:startColor="@color/colorPrimary"/>
        <stroke android:color="#ff00" android:width="10dp"/>
    </shape>
</item>

    <item
        android:bottom="40dp"
        android:drawable="@drawable/ic_launcher_round"
        android:left="40dp"
        android:right="40dp"
        android:top="40dp" />
</layer-list>

KELUARAN

enter image description here

2
AskNilesh 19 Desember 2017, 07:55

Buat dua file yang dapat digambar untuk tugas ini

Sumber daya dapat digambar pertama untuk stroke:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <stroke
        android:width="8dp"
        android:color="#00A79E" />



</shape>

Kedua untuk warna solid:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">


    <solid android:color="#e5e5e5" />

</shape>

Terapkan drawable ini sebagai latar belakang di layout.xml seperti ini

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/test"
        android:padding="@dimen/diam15dp">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/test2"
            android:padding="@dimen/diam15dp"

            android:text="sdadasdad" />


    </LinearLayout>

Ganti bantalan sesuai kebutuhan Anda. Semoga ini akan membantu Anda..

0
Lokesh Desai 18 Desember 2017, 13:54

Daftar Lapisan Dapat Digambar ini persis seperti yang Anda inginkan.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- larger circle at the back -->
    <item android:gravity="center">
        <shape android:shape="oval">

            <solid android:color="#FFFFFF" />

            <stroke
                android:width="5dp"
                android:color="#349fab" />
        </shape>
    </item>

    <!-- inner circle -->
    <item
        android:bottom="10dp"
        android:gravity="center"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp">
        <shape android:shape="oval">
            <solid android:color="#CCCCCC" />
        </shape>
    </item>
</layer-list>
0
Abhishek Singh 18 Desember 2017, 14:08