2015-11-07 14 views
14

Androidアプリでは、評価バーは表示されません。私は指を離すとすぐに触れると目に見えるようになり、消えます。Android:評価バーが表示されず、タッチ時にのみ表示されます

マイコード:

<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"/> 

それは(API 23モード)ロリポップエミュレータ/本物の携帯電話/ Androidのスタジオデザインウィンドウにレンダリングされませんが、キットカットエミュレータとAndroidのデザインウィンドウにレンダリングされる(API 15モードで)。

完全なレイアウトファイル:

<?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

多分いくつかのビューがそれをカバーしました。 –

+0

または色が背景と同じです –

+0

その理由が分かりましたか?私は同じ問題を抱えています。 – user2520215

答えて

1

すべてのレイアウトファイルがなければ、それはこの問題を解決することは不可能だが、標高問題になる可能性がロリポップやマシュマロでのみ起こる場合。評価バーに設定してみてください:Googleのコードにthis問題によると、追加しよう

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

setOnRatingBarChangeListenerを試してみてください –

3

「標高10dp」というあなたのRatingBarプロパティへのライン:

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

それとも、おそらくそのスタイルの一部:

style="?android:attr/ratingBarStyle" 

または

style="android:attr/ratingBarStyleSmall" 

Googleの開発者からの回答はないので、なぜこの奇妙な動作が表示されるのかはわかりませんが、おそらくそれが役に立ちます。

4

少しの研究が私の運を試した後、それは働いた!最後に解決策を見つけました!

私の人生を保存するためにこれらの属性を追加する!

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

例:

<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" /> 

あなたのニーズに応じてこれらの色を変更することができます!

追加情報:

アンドロイド:実際の進行状況の色に使用progressTint

アンドロイド:二次進行のために使用さsecondaryProgressTint選択した部分の評価が半分、残りの半分は、この属性を使用した色と言うときです。

アンドロイド:progressBackgroundTint評価の残りの部分に使用するには、2本1色5のうち3そう最後言います!

ハッピーコーディング!アンドロイドを飲む! ;)

関連する問題