1

별을 표시하지 않습니다! 물론, 나는 다른 모든 질문을 준비했습니다. 그들은 시도하지 않은 마법을 포함하고 있지 않습니다.Android 등급 표시 막대 등급 표시 줄만 표시 전체/채워진 별

스타일을 ratingBarStyle으로 변경하려고 시도했지만 반쪽 별이 있지만 정상적인 크기의 RatingBar는 여기 내 요구 사항을 충족하지 않습니다.

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <RatingBar 
      android:id="@+id/ratingBar2" 
      style="?android:attr/ratingBarStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:isIndicator="true" 
      android:backgroundTint="@color/colorAccent" 
      android:progressTint="@color/colorAccent" 
      android:secondaryProgressTint="@color/colorAccent" 
      android:numStars="5" 
      android:rating="3.3" 
      android:stepSize="0.1"/> 
    </LinearLayout> 

내 자바 코드 :

ratingBar.setStepSize(0.1f); 
ratingBar.setRating(3.5f); 

결과 제가 보는 : 나는 안드로이드 지원 버전 23.4.0을 사용하고
enter image description here

. 내 compileSdkVersiontargetSdkVersion은 모두 23입니다. Android 5.0 기기에서 테스트 중입니다.

+0

stepsize 0.5를 사용하고 확인하십시오. – Vickyexpert

답변

4

android:secondaryProgressTint을 제거하거나 변경하십시오. 마지막 (부분) 별을 채우는 데 사용됩니다.

<RatingBar 
     android:id="@+id/ratingBar2" 
     style="?android:attr/ratingBarStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:isIndicator="true" 
     android:backgroundTint="#f00" 
     android:progressTint="#0f0" 
     android:secondaryProgressTint="#00f" 
     android:numStars="5" 
     android:rating="3.3" 
     android:stepSize="0.1"/> 

Rating bar with partial star

나는 단지 3 색을 변경 : 이것은 내가 함께 무엇을 얻을 수 있습니다. 배경 색조는 전혀 사용되지 않는 것 같습니다 (AppCompat 23.4.0, API 22 장치).

+0

이것은 매우 유용했습니다! 이 작업을 완료하기 만하면됩니다. blue/secondaryProgressTint를 없애기 원한다면. 그런 다음 100 % 투명 색상 인 # 00000000을 사용하십시오. 또는 불투명도가 0 인 검정색이 정확해야합니다. – Nulle