2015-11-07 23 views
14

Nella mia app Android, le barre di valutazione non sono visibili. Diventa visibile solo toccandolo e scompare non appena mi tolgo le dita.Android: Ratingbar non visibile, diventa visibile solo toccando

Il mio codice:

<RatingBar 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/myratingStars" 
      android:layout_gravity="center_horizontal|center_vertical|center" 
      android:numStars="5"/> 

Essa non rende in/vero telefono/finestra di progettazione Lollipop emulatore Studio Android (in modalità API 23), ma viene resa in KitKat emulatore e la finestra di progettazione Android (in API modalità 15).

completo file di layout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/white"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="24dp" 
     android:orientation="vertical"> 
     <RatingBar 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/myratingStars" 
      android:layout_gravity="center_horizontal|center_vertical|center" 
      android:numStars="5"/> 
     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
      <android.support.v7.widget.AppCompatEditText 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:textSize="16sp" 
       android:maxLines="10" 
       android:id="@+id/myratingTxt" 
       android:layout_marginTop="12dp" 
       android:layout_marginBottom="2dp" 
       android:hint="@string/write_review"/> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.v7.widget.AppCompatButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/submitReview" 
      android:text="@string/review_submit" 
      android:layout_gravity="center_horizontal|center|center_vertical" 
      android:textColor="@color/white" 
      android:onClick="submitReview" 
      android:layout_marginTop="8dp" 
      tools:visibility="visible"/> 
    </LinearLayout> 

</LinearLayout> 
+0

Forse qualche Vista lo ha coperto. –

+0

Oppure il colore è lo stesso dello sfondo –

+0

Hai capito perché stava succedendo? Sto avendo lo stesso problema. – user2520215

risposta

1

Senza tutto layout del file è impossibile risolvere questo problema, ma se accadere solo in Lollipop o Marshmallow può essere problema di elevazione. Cercate impostato bar rating "elevazione: 10dp"

1
yourRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { 
      @Override 
      public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { 
       YourRatingValue = String.valueOf(rating);     
       Toast.makeText(getActivity(), "Your Rating :" + YourRatingValue, Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

prova a impostareOnRatingBarChangeListener –

3

Secondo this problema su Google Code, tenta di aggiungere che le linee alle tue RatingBar proprietà:

android:isIndicator="true" 
style="?android:attr/ratingBarStyleIndicator" 

O probabilmente alcuni di quei stili:

style="?android:attr/ratingBarStyle" 

o

style="android:attr/ratingBarStyleSmall" 

Come potete vedere, non ci sono risposte da parte degli sviluppatori di google, quindi non so perché questo comportamento strano appare, ma forse aiuta.

4

Dopo un po 'di ricerche ho tentato la fortuna e ha funzionato !!! Finalmente trovato una soluzione!

Aggiunta di questi attributi per aver salvato la vita !!!

android:progressBackgroundTint="@color/colorAccent" 
android:progressTint="@color/colorAccent" 
android:secondaryProgressTint="@color/colorAccent" 

Esempio:

<android.support.v7.widget.AppCompatRatingBar 
     android:id="@+id/ratingBar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:progressBackgroundTint="@color/colorAccent" 
     android:progressTint="@color/colorAccent" 
     android:secondaryProgressTint="@color/colorAccent" 
     android:rating="4" /> 

È possibile modificare questi colori in base alle proprie esigenze !!

Info extra:

Android: progressTint utilizzato per il colore avanzamento effettivo

Android: secondaryProgressTint utilizzato per il progresso secondario che si ha quando un punteggio parziale selezionato dire la metà l'altra metà colorato utilizzando questo attributo .

android: progressBackgroundTint utilizzato per il resto della valutazione dice 3 su 5 quindi gli ultimi 2 colorati questo!

Felice codifica !! Mangiare drink Android! ;)