Apakah ada cara saya bisa menentukan bentuk segitiga dalam file xml?
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="triangle">
<stroke android:width="1dip" android:color="#FFF" />
<solid android:color="#FFF" />
</shape>
dapatkah kita melakukan ini dengan bentuk jalur atau sesuatu? Saya hanya perlu segitiga sama sisi.
Terima kasih
Jawaban:
Dalam posting ini saya jelaskan bagaimana melakukannya. Dan di sini adalah segitiga penentu XML:
Lihat posting saya jika ada sesuatu yang tidak jelas atau Anda perlu penjelasan bagaimana itu dibangun. Ini diputar potongan persegi :) itu adalah solusi yang sangat cerdas dan bekerja dengan baik.
EDIT: untuk membuat panah yang menunjuk seperti -> gunakan:
Dan untuk membuat panah yang menunjuk seperti <- use:
sumber
Anda dapat memperoleh lebih banyak opsi di sini .
sumber
<string name="bottom_arrow">▼</string>
Kamu bisa memakai
vector
untuk membuat segitiga seperti iniic_triangle_right.xml
Kemudian gunakan seperti
Untuk mengubah warna dan arah, gunakan
android:tint
danandroid:rotation
Hasil
Untuk mengubah bentuk vektor, Anda dapat mengubah lebar / tinggi vektor. Contoh ubah lebar menjadi 10dp
sumber
Anda dapat menggunakan gambar vektor .
Jika API minimum Anda lebih rendah dari 21, Android Studio secara otomatis membuat bitmap PNG untuk versi yang lebih rendah itu pada waktu pembuatan (lihat Vector Asset Studio ). Jika Anda menggunakan pustaka dukungan, Android bahkan mengelola "vektor nyata" hingga API 7 (lebih lanjut tentang itu dalam pembaruan posting ini di bagian bawah).
Segitiga menunjuk ke atas merah adalah:
Tambahkan ke tata letak Anda dan ingat untuk mengatur clipChildren = "false" jika Anda memutar segitiga.
Ubah ukuran (lebar / tinggi) segitiga dengan mengatur atribut Views layout_width / layout_height. Dengan cara ini Anda juga bisa mendapatkan segitiga eqilateral jika Anda melakukan perhitungan matematika dengan benar.
PEMBARUAN 25.11.2017
Jika Anda menggunakan perpustakaan dukungan, Anda dapat menggunakan vektor nyata (alih-alih jika pembuatan bitmap) sejauh API 7 . Cukup tambahkan:
lakukan tugasmu
defaultConfig
di build.gradle modul Anda.Kemudian atur (vektor xml) gambar seperti ini:
Semuanya didokumentasikan dengan sangat baik di halaman Vector Asset Studio .
Sejak fitur ini saya telah bekerja sepenuhnya tanpa bitmap dalam hal ikon. Ini juga mengurangi ukuran APK sedikit.
sumber
vectorDrawables.useSupportLibrary = true
memiliki manfaat tambahan yang dapat Anda gunakan dengan warna yang ditentukancolors.xml
, karena bitmap dibuat selama pembuatan (ketika warna yang ditentukan tidak tersedia).Saya pasti akan pergi untuk menerapkan Tampilan dalam kasus ini:
Manfaatkan itu di tata letak Anda sebagai berikut:
Menggunakan implementasi ini akan memberi Anda hasil berikut:
sumber
The larutan Jacek Milewski bekerja untuk saya dan, berdasarkan solusinya, jika Anda butuhkan dan segitiga yang terbalik Anda dapat menggunakan ini:
sumber
Lihat jawaban di sini: Panah khusus tanpa gambar: Android
sumber
Saya bisa membantu Anda tanpa menggunakan XML?
Secara sederhana,
Tata Letak Kustom (Iris):
Aktivitas Anda (Contoh):
Contoh kerja:
Calculate
Fungsi lain yang sangat sederhana Anda mungkin tertarik ..sumber
Menggunakan gambar vektor:
sumber
L
danz
pada akhirnya memperbaiki masalah saya, terima kasih!Bagi mereka yang menginginkan panah segitiga kanan, ini dia:
LANGKAH 1: Buat file XML yang dapat digambar, salin dan tempel konten XML berikut ke dalam XML yang dapat Anda gambar. (Perlu diketahui bahwa Anda dapat menggunakan nama apa pun untuk file XML yang dapat ditarik. Untuk kasus saya, saya beri nama "v_right_arrow")
LANGKAH 2: Dalam tata letak XML Anda, buat Tampilan dan ikat latar belakangnya dengan XML yang dapat ditarik yang baru saja Anda buat di LANGKAH 1 . Untuk kasus saya, saya mengikat v_right_arrow ke properti latar belakang tampilan saya.
Output sampel:
Semoga ini bisa membantu, semoga berhasil!
sumber
Anda dapat menambahkan segitiga berikut di latar belakang menggunakan xml berikut
Seluruh logika untuk menyesuaikan desain xml ada di
pathData
. Pertimbangkan kiri atas sebagai (0,0) dan desain tata letak sesuai kebutuhan Anda. Periksa jawaban ini .sumber
sumber
sumber
Saya belum pernah melakukan ini, tetapi dari apa yang saya mengerti Anda dapat menggunakan kelas PathShape: http://developer.android.com/reference/android/graphics/drawable/shapes/PathShape.html
sumber
Saya terlambat datang ke pesta dan menemukan masalah yang sama dan Google mengarahkan saya ke utas StackOverflow ini sebagai hasil pertama.
Lihat tangkapan layar dengan batas tata letak aktif
Jadi akhirnya membuat kelas tampilan kustom ini yang dapat menggambar Segitiga dari jenis berikut: -
asas
Anda bisa Cukup menggunakannya dalam tata letak xml seperti ini
Saya tahu OP ingin solusi dalam solusi xml tetapi seperti yang saya tunjukkan masalah dengan pendekatan xml. Saya harap ini bisa membantu seseorang.
sumber
Menggunakan solusi Jacek Milewski saya membuat sudut bawah yang berorientasi dengan latar belakang transparan.
Anda dapat mengubah
android:pivotX
danandroid:pivotY
menggeser sudut.Pemakaian:
Parameter tergantung pada ukuran gambar. Misalnya, jika
ImageView
memiliki ukuran 100dp * 80dp, Anda harus menggunakan konstanta ini:sumber
Saya mencoba membuat gambar segitiga seperti tombol kembali bilah navigasi Android tapi saya belum menemukan solusi.
Sekarang, saya menemukan solusinya dengan diri saya sendiri dan ingin membagikannya.
gunakan xml di bawah ini
sumber
sumber
Google menyediakan segitiga sama sisi di sini .
Pilih VectorDrawable sehingga ukurannya fleksibel.
Ini terintegrasi ke dalam Android Studio sebagai plugin.
Jika Anda memiliki gambar SVG, Anda dapat menggunakan ini untuk mengubahnya menjadi VectorDrawable juga.
Setelah Anda memiliki VectorDrawable, mengubah warna dan putarannya mudah seperti yang telah disebutkan orang lain.
sumber