2015-11-16 14 views
8

Ben yeni stili yaratarak benim değerlendirme çubuğunun yıldızlı değiştirmeye çalışıyorum, bu i did neyi:Android derecelendirme Çubuk yıldız nasıl değiştirilir?

<style name="RatingBarSmall" parent="android:Widget.DeviceDefault.Light.RatingBar.Indicator"> 
     <item name="android:progressDrawable">@drawable/rating_bar</item> 
     <item name="android:minHeight">36dp</item> 
     <item name="android:maxHeight">36dp</item> 
    </style> 

çekilebilir/rating_bar:

<?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/rating_star_empty" /> 
    <item 
     android:id="@android:id/secondaryProgress" 
     android:drawable="@drawable/rating_star_empty" /> 
    <item 
     android:id="@android:id/progress" 
     android:drawable="@drawable/rating_star_filled" /> 
</layer-list> 

değerlendirme çubuğu xml görünümü:

<RatingBar 
        android:id="@+id/ratingBar" 
        style="@style/RatingBarSmall" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="0" 
        android:isIndicator="true" 
        android:rating="5" /> 

ve buradaki resimler şu şekilde gösterilir:

rating_star_empty rating_star_filled

ama ben seni feryat resimde int gördüğünüz gibi ben yıldızların altında dikey çizgiler var neden bilmiyorum: enter image description here

DÜZENLEME: ÇÖZÜLDÜ: ben sadece görüntü olarak değerlendirmesi çubuk yüksekliğini ayarlamak yükseklik.

teşekkürler

+0

Sen http://www.geeks.gallery/how-to-code-custom-ratingbar- (Bunu [bu] kodunuzu karşılaştırabilirsiniz yerine MinHeight ait wrap_content kullanmak istiyorsanız ve –

+0

maxheight olabilir in robot /). Bu size yardımcı olabilir. – activesince93

+0

Bu, Rating çubuğunda hata olabilir. Aynı konuyla pek çok kez karşılaşıyorum ama istenilen sonuç yok. – theLazyFinder

cevap

4

Bu soruna bu şekilde karar veririm. Sen gibi her ekran için res/values/dimens.xml içindeki tüm değerleri (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi) oluşturabilir:

<dimen name="raiting_min_height">36dp</dimen> 
<dimen name="raiting_min_width">36dp</dimen> 

Ve bu kullanın:

<style name="RatingBarSmall" parent="android:Widget.DeviceDefault.Light.RatingBar.Indicator"> 
    <item name="android:progressDrawable">@drawable/rating_bar</item> 
    <item name="android:minHeight">@dimen/raiting_min_height</item> 
    <item name="android:maxHeight">@dimen/raiting_min_width</item> 
</style> 

Ya da çekilebilir bu mantığı uygulayabilirsiniz (rating_star_empty ve rating_star_filled)

+1

' 36dp' Demek istediğinizi 36dp ' –

+1

üzgünüm, evet haklısın! Bu benim yazım hatalarım – walkmn

İlgili konular