RatingBarをカスタマイズして表示したはいいものの、
画質が悪くなってしまったのでどうにか画質をよく表示させたいです。
カスタマイズした方法は
プログラミング雑記を参考に致しました。
まずは画像を設定するrating.xmlを作成。
xml
1<?xml version="1.0" encoding="utf-8"?> 2<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 3 <item android:id="@+android:id/background" 4 android:drawable="@drawable/icon_favorite_non_active" /> 5 <item android:id="@+android:id/secondaryProgress" 6 android:drawable="@drawable/icon_favorite_half" /> 7 <item android:id="@+android:id/progress" 8 android:drawable="@drawable/icon_favorite_active" /> 9</layer-list>
値が設定されている画像と半分の画像と設定されていない画像をそれぞれ用意しました。
その時に表示させる時の画質と同じ画質で画像を作っています。
10dpで表示させたい時はサイズが10dpの画像
次にstyle.xmlに次のコードを記述。
xml
1<style name="RatingBarStandard" parent="android:Widget.RatingBar"> 2 <item name="android:progressDrawable">@drawable/rating</item> 3 <item name="android:minHeight">10dp</item> 4 <item name="android:maxHeight">10dp</item> 5 </style>
先ほどの画像をRatingBarで利用する準備?をしてminHeightとmaxHeightを画像のサイズ(表示したいサイズ)に設定しています。
最後にlayoutのRatingBarのstyle属性を設定しました。
xml
1<RatingBar 2 android:layout_width="wrap_content" 3 android:layout_height="wrap_content" 4 android:id="@+id/rating" 5 android:stepSize="0.5" 6 style="@style/RatingBarStandard" 7 android:layout_marginRight="10dp" />
問題は画像を作る時に画質をよくして(例えば50dpで)作ると
表示させる時に40dp分が切れた状態で表示されてしまいます。
つまり、画像を縮小させて表示させたいです。
宜しく御願い致します。
あなたの回答
tips
プレビュー