[android] Ratingbar의 크기를 어떻게 줄일 수 있습니까?

내 활동에는 등급 막대가 있습니다. 그러나이 바의 크기가 너무 큽니다! 어떻게 작게 만들 수 있습니까?

편집하다

Gabriel Negut 덕분에 다음과 같은 스타일로 작업했습니다.

<RatingBar
style = "?android:attr/ratingBarStyleSmall"
android:numStars = "5"
android:rating   = "4" />

이제 크기는 줄어들었지만 별 수와 등급은 적용되지 않습니다 !!! 왜? 나는 그중 6 개가 선택된 7 개의 별을 가지고 있습니다.



답변

내가 게시 한 원래 링크가 이제 끊어졌습니다 (링크 만 게시하는 것이 가장 좋은 방법이 아닌 이유가 있습니다). 당신은 스타일에이 RatingBar중 하나에 ratingBarStyleSmall또는 상속 사용자 정의 스타일 Widget.Material.RatingBar.Small(당신을 가정하면 앱에서 재질 디자인을 사용하는)를.

옵션 1:

<RatingBar
    android:id="@+id/ratingBar"
    style="?android:attr/ratingBarStyleSmall"
    ... />

옵션 2 :

// styles.xml
<style name="customRatingBar"
    parent="android:style/Widget.Material.RatingBar.Small">
    ... // Additional customizations
</style>

// layout.xml
<RatingBar
    android:id="@+id/ratingBar"
    style="@style/customRatingBar"
    ... />


답변

이것은 못생긴 패딩없이 작은 크기로 등급 표시 줄을 줄이기 위해 많은 어려움을 겪은 후의 해결책이었습니다.

 <RatingBar
        android:id="@+id/listitemrating"
        style="@android:attr/ratingBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleX=".5"
        android:scaleY=".5"
        android:transformPivotX="0dp"
        android:transformPivotY="0dp"
        android:isIndicator="true"
        android:max="5" />


답변

등급 막대를 작은 크기로 표시하려면이 코드를 복사하여 프로젝트에 붙여 넣으십시오.

  <RatingBar
    android:id="@+id/MyRating"
    style="?android:attr/ratingBarStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/getRating"
    android:isIndicator="true"
    android:numStars="5"
    android:stepSize="0.1" />


답변

당신은에 대한 XML 코드에서 설정할 수 있습니다 RatingBar, 사용 scaleX하고 scaleY그에 따라 조정 할 수 있습니다. “1.0”은 보통 크기이며 “.0″에있는 것은 크기를 줄이며 “1.0”보다 큰 것은 증가합니다.

<RatingBar
  android:id="@+id/ratingBar1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:scaleX="0.5"
  android:scaleY="0.5" />


답변

아래 스 니펫은 ratingBar의 크기를 조정하는 데 도움이되었습니다.

<RatingBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ratingBar"
    style="?android:attr/ratingBarStyleIndicator"
    android:scaleX=".5"
    android:rating="3.5"
    android:scaleY=".5"
    android:transformPivotX="0dp"
    android:transformPivotY="0dp"
    android:max="5"/>

여기에 이미지 설명을 입력하십시오


답변

작업 예

             <RatingBar
                style="@style/RatingBar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:numStars="5"
                android:rating="3.5"
                android:stepSize="0.5" />

스타일 xml 파일에 추가하십시오.

<style name="RatingBar"
parent="android:style/Widget.Material.RatingBar.Small">
<item name="colorControlNormal">@color/primary_light</item>
<item name="colorControlActivated">@color/primary_dark</item>
</style>

이렇게하면 ratingBar를 사용자 정의 할 필요가 없습니다.


답변

내 대답을 확인 하십시오 . 그것을 달성하는 가장 좋은 방법.

 <style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
   <item name="android:minHeight">15dp</item>
   <item name="android:maxHeight">15dp</item>
   <item name="colorControlNormal">@color/white</item>
   <item name="colorControlActivated">@color/home_add</item>
</style>

같은 사용

<RatingBar
    style="?android:attr/ratingBarStyleIndicator"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:isIndicator="false"
      android:max="5"
      android:rating="3"
      android:scaleX=".8"
      android:scaleY=".8"
      android:theme="@style/MyRatingBar" />