Pertanyaan Spasi Antara bintang ratingBar


Saya perlu memasukkan spasi di antara bintang-bintang ratingBar saya, contoh ratingbar dengan baik:

enter image description here

tetapi saya membutuhkannya sebagai berikut:

enter image description here

bagaimana saya bisa melakukan ini?


32
2018-06-18 23:24


asal


Jawaban:


Saya tidak tahu apakah ini akan berguna lagi, tetapi saya membuat pustaka khusus yang memungkinkan Anda untuk mengubah ruang beetwen bintang secara programatis dan dalam XML (di antara hal-hal lainnya): SimpleRatingBar.

Ini fitur:

  • Sepenuhnya bekerja android:layout_width: dapat diatur ke wrap_content, match_parent atau abritary dp.
  • Jumlah bintang yang sewenang-wenang.
  • Ukuran langkah arbitrer.
  • Ukuran bintang dapat dikontrol dengan tepat atau dengan mengatur ukuran maksimum.
  • Warna yang dapat disesuaikan dalam kondisi normal (pembatas, pengisian dan latar belakang bintang dan bilah peringkat).
  • Warna yang dapat disesuaikan dalam keadaan tekan (perbatasan, isi dan latar belakang bintang dan bar peringkat).
  • Pemisahan ukuran yang dapat disesuaikan antar bintang.
  • Tepi lebar bintang yang dapat disesuaikan.
  • Radius sudut bintang yang dapat disesuaikan.
  • Memungkinkan mengatur OnRatingBarChangeListener
  • Isi bintang dapat diatur mulai dari kiri ke kanan atau dari kanan ke kiri (dukungan bahasa RTL).
  • AnimationBuilder terintegrasi dalam pandangan untuk mengatur peringkat secara terprogram dengan animasi.

Berikut ini previewnya.

Dalam kasus Anda, Anda hanya perlu melakukan:

ratingbar.setStarsSeparation(20, Dimension.DP);

atau, misalnya, dalam piksel:

ratingbar.setStarsSeparation(100, Dimension.PX);

Anda dapat menemukannya di dalamnya jcenter atau di Maven Central. Jadi dalam diri Anda build.gradle file tambahkan saja ke dependensi Anda:

compile 'com.iarcuschin:simpleratingbar:0.1.+'


3
2017-11-22 03:30



Anda memiliki properti selanjutnya.

android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"

@ drawable / rating_stars:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background"
          android:drawable="@drawable/star_empty" />
    <item android:id="@+android:id/secondaryProgress"
          android:drawable="@drawable/star_empty" />
    <item android:id="@+android:id/progress"
          android:drawable="@drawable/star" />
</layer-list>

star_empty dan star adalah gambar yang ada di direktori drawable Anda. Jadi, Anda dapat mengubah bintang dan star_empty dalam editor grafis dan menambahkan spassing jika Anda membutuhkannya.


4
2017-07-11 12:34



Cukup gunakan ikon kustom untuk itu dan jangan gunakan gaya, maksud saya Photoshop itu seperti yang Anda inginkan untuk melihat dan mengganti dengan ikon gaya sistem penilaian.


1
2018-06-14 07:04



Saya pikir Anda harus mengambil salinan file png bintang sistem dan secara manual menambahkan padding yang Anda inginkan dengan photoshop / gimp / editor lainnya.


0
2018-06-18 23:29



Saya setuju dengan Tim saya menerapkan logika yang sama dan itu berhasil. Di sini, dalam proyek saya, saya menggunakan gambar bintang saya sendiri untuk ratin bintang Saya membuat gambar bintang yang memiliki ruang ekstra (padding) di sisi kanan yang menghasilkan ruang di antara bintang-bintang


0
2017-07-04 14:50