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