我正在尝试自定义android的RatingBar。
我找到了tutorial来做这件事,但我遇到了问题。
我将评级栏numStars的属性设置为5。
我得到的是,评级栏的每个“明星”都代表我的三个。
我在本教程的评论中读到,有人遇到了类似的问题,但是没有解决这个问题的方法。
有人可以在Android 2.2上试用这个教程吗?或者推荐另一个教程?
提前谢谢
UPD:
这是我的一些代码:
RES /抽拉/ star_selector_full_filled.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/star_highlighted" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/star_highlighted" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/star_highlighted" />
<item android:drawable="@drawable/star_highlighted" />
</selector>
RES /抽拉/ star_selector_empty.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/star_white" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/star_white" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/star_white" />
<item android:drawable="@drawable/star_white" />
</selector>
RES /抽拉/ star_selector.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/star_selector_empty" />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/star_selector_empty" />
<item android:id="@+android:id/progress"
android:drawable="@drawable/star_selector_full_filled" />
</layer-list>
RES /值/ styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="starRatingBar" parent="android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/star_selector</item>
<item name="android:minHeight">25dip</item>
<item name="android:maxHeight">25dip</item>
</style>
</resources>
答案 0 :(得分:0)
我遇到了同样的问题......它与您部署的最小版本和屏幕尺寸有关。
我手动设置了android清单中支持的屏幕尺寸:
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
希望它有所帮助。
我实际上回答了同样的问题here.
您需要做的就是将布局宽度设置为wrap_content