2016-11-18 1 views
1

Je crée RatingBar personnalisé à l'aide de cette propriété android:progressDrawable="@drawable/ratingstars"Ratingbar propriété layout_centerVertical ne fonctionne pas après le coucher progressDrawable

Lorsque j'applique cette propriété, il ajoute automatiquement un peu plus d'espace. Donc, je veux enlever l'espace inutile. Si je supprime cette propriété, j'ai la valeur par défaut RatingBar, alors s'il vous plaît, aidez-moi.

Voici la capture d'écran, afin que vous puissiez mieux comprendre.

enter image description here

Voici mon fichier xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="15dp" 
    android:elevation="20dp" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="300dp" 
     android:orientation="vertical" 
     android:weightSum="10"> 

     <ImageView 
      android:id="@+id/imageView" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="8" 
      android:background="@drawable/placeholder"/> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="2"> 

      <TextView 
       android:id="@+id/tv_title" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="15dp" 
       android:layout_toLeftOf="@+id/rating" 
       android:maxLines="1" 
       android:text="Rides" 
       android:textColor="@color/colorPrimary" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 

      <RatingBar 
       android:id="@+id/rating" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_marginEnd="20dp" 
       android:layout_marginRight="20dp" 
       android:layout_marginTop="20dp" 
       android:layout_toLeftOf="@+id/tv_more" 
       android:layout_toStartOf="@+id/tv_more" 
       android:isIndicator="true" 
       android:progressDrawable="@drawable/ratingstars" 
       android:rating="4" /> 

      <TextView 
       android:id="@+id/tv_more" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_marginEnd="10dp" 
       android:layout_marginRight="10dp" 
       android:background="@drawable/rounded" 
       android:padding="10dp" 
       android:text="More" 
       android:textColor="@color/white" 
       android:textSize="16sp" 
       android:textStyle="bold" /> 

     </RelativeLayout> 

    </LinearLayout> 


</android.support.v7.widget.CardView> 

sur mesure drawable de ratingstars.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:layout_centerVertical="true" 
     android:gravity="center_vertical" 
     android:layout_gravity="center_vertical" 
     android:id="@android:id/background" 
     android:drawable="@drawable/star_blank" /> 
    <item 
     android:layout_gravity="center_vertical" 
     android:layout_centerVertical="true" 
     android:gravity="center_vertical" 
     android:id="@android:id/secondaryProgress" 
     android:drawable="@drawable/star_blank" /> 
    <item 
     android:layout_gravity="center_vertical" 
     android:layout_centerVertical="true" 
     android:gravity="center_vertical" 
     android:id="@android:id/progress" 
     android:drawable="@drawable/star_fill" /> 
</layer-list> 

Répondre

0

Utilisez la barre de notation lib pour personnaliser toutes les propriétés de ratingbar https://github.com/whinc/RatingBar

+0

donc ne ed pour utiliser lib pour ça ?? –

+0

comme option, Si vous utilisez lib, nous pouvons tout personnaliser à partir de la barre d'évaluation, la barre d'évaluation normale agit sur le style – Vadivel

+0

Sinon, vous pouvez augmenter la barre d'évaluation rempli et rempli d'icônes – Vadivel