にカスタムイメージを追加するとき、私はアンドロイドプロジェクトにカスタムレーティングバーを追加するには、スタックオーバーフローの答えを追っている、ここにある:https://stackoverflow.com/a/32828726/5909396評価バーが大型になり、カットオフ
念のI私のコードを投稿しています。
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_emptyStar" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_emptyStar" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_emptyStar" />
<item android:drawable="@drawable/ic_emptyStar" />
:その後、私は描画可能なフォルダにもratingbar_empty.xmlとratingbar_filled.xmlを作成
<?xml version="1.0" encoding="UTF-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/ratingbar_empty" />
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/ratingbar_empty" />
<item android:id="@android:id/progress"
android:drawable="@drawable/ratingbar_filled" />
:
は、最初に私は描画可能なフォルダにratingBar.xmlを作成しました<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_fullStar" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_fullStar" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/ic_fullStar" />
<item android:drawable="@drawable/ic_fullStar" />
そして私はのstyles.xml
<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/ratingbar</item>
<item name="android:minHeight">50dp</item>
<item name="android:maxHeight">50dp</item>
</style>
にカスタムスタイルを作成し、最終的に私は、レイアウトにratingBarを追加しました。私が構造化したのは、評価バーが相対レイアウト内にあり、相対レイアウト内にテキストビューがあり、評価バーの上にあります(評価がない場合はテキストビューが表示されます)。
<RelativeLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:orientation="vertical"
android:layout_gravity="center">
<RatingBar
android:id="@+id/ratingRestaurant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/CustomRatingBar"
android:numStars="5"
android:stepSize="0.1"
android:isIndicator="true"
android:max="5"
android:progress="3"
android:layout_centerVertical="true"
android:progressTint="#ffe4b331" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No rating available"
android:textColor="@android:color/white"
android:textSize="11dp"
android:id="@+id/textViewNoRatingAvailable" />
</RelativeLayout>
私はシミュレータ上でアプリケーションを実行すると、星は本当に大きく、カットオフされているような以下:
5つ星があるようになっています。どうすればこの問題を解決できますか?
を設定しましたstackoverflow.com/help/how-to-answer) –