RatingBar适配及SetRating不起作用

来源:互联网 发布:log4j打印sql 编辑:程序博客网 时间:2024/06/06 05:58

最近使用RatingBar发现一个小问题就是RatingBar被拉长,出来两条线,以及setRating(0.1f)不起作用的问题


1、RatingBar适配,根据资源图片动态的设置RatingBar的高度

 

/** * @param context * @param ratingBar * @param resourceId 本地图片资源Id */public void setRatingBarHeight(Context context, RatingBar ratingBar, int resourceId) {    try {        Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId);        int height = bitmap.getHeight();        ViewGroup.LayoutParams params = ratingBar.getLayoutParams();        params.height = height;        ratingBar.setLayoutParams(params);    } catch (Exception e) {    }}
2、RatingBar方法setRating(0.1f)不起作用
 布局如下 ,每一步是0.1,最大值是10

<RatingBar    android:id="@+id/rating_bar"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:max="10"    android:progressDrawable="@drawable/evaluate_rating_bar"    android:rating="10"    android:stepSize="0.1" />

背景资源evaluate_rating_bar如下

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">evaluate_rating_un    <item android:id="@+android:id/background" android:drawable="@drawable/evaluate_rating_un" />    <item android:id="@+android:id/progress" android:drawable="@drawable/evaluate_rating_select" /> </layer-list>
在代码中通过
ratingBar.setRating(0.1f); 始终显示半个星星
最后修改背景资源
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">evaluate_rating_un    <item android:id="@+android:id/background" android:drawable="@drawable/evaluate_rating_un" />    <item android:id="@+android:id/progress" android:drawable="@drawable/evaluate_rating_select" />    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/evaluate_rating_bg" /></layer-list>
添加一个纯白的图片就能正常显示

原创粉丝点击