2015-11-07 68 views
14

在我的Android應用中,ratingbar不可見。它只有在觸摸它時纔會變得可見,並且一拿走我的手指就會消失。Android:Ratingbar不可見,僅在觸摸時纔可見

我的代碼:

<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的工作室設計窗口(API 23模式)渲染,但奇巧模擬器和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

也許一些View覆蓋它。 –

+0

或顏色與背景相同 –

+0

你知道爲什麼會發生這種情況嗎?我有同樣的問題。 – user2520215

回答

1

沒有所有的佈局文件,它是不可能解決這個問題,但如果只發生在棒棒糖或棉花糖可以提升問題。儘量設置爲等級欄中的「海拔: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

嘗試setOnRatingBarChangeListener –

3

根據對谷歌代碼this問題,嘗試添加該行到你的RatingBar屬性:

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

或很可能有些是款式:

style="?android:attr/ratingBarStyle" 

style="android:attr/ratingBarStyleSmall" 

正如你所看到的,谷歌開發人員沒有答案,所以我不知道爲什麼會出現這種奇怪的行爲,但也許它有幫助。

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這是當選擇了部分評價說,使用該屬性的一半,另一半有色。

android:progressBackgroundTint用於評分的其餘部分,比如說3 out of 5所以最後2個顏色是這個!

快樂編碼!吃喝Android! ;)

相關問題