第三方评分控件 RatingBar的使用

原创 2017年03月29日 12:21:45
需要自定义RatingBar的样式。但是原生的RatingBar自定义很不方便,兼具无法调节,半颗星总是很难对齐,大小也不能自由调节。

通过网络搜索,发现这是原生RatingBar本身的问题,很多开发者推荐使用第三方评分控件。


一、添加依赖

dependencies {
	compile 'com.hedgehog.ratingbar:app:1.1.2'
}


二、布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!--各项属性根据字面可以理解-->
    <com.hedgehog.ratingbar.RatingBar
        android:id="@+id/rat_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:clickable="false"
        app:halfstart="true"
        app:starCount="5"
        app:starEmpty="@mipmap/ratingbar_star_empty"
        app:starFill="@mipmap/ratingbar_star_fill"
        app:starHalf="@mipmap/ratingbar_star_half"
        app:starImageHeight="40dp"
        app:starImagePadding="5dp"
        app:starImageWidth="40dp" />
</RelativeLayout>

三、程序代码

public class MainActivity extends AppCompatActivity {
    private RatingBar mRatingBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mRatingBar= (RatingBar) findViewById(R.id.rat_test);
        //设置是否可点击,在需要评分的地方要设置为可点击
        mRatingBar.setmClickable(true);
        //设置星星总数
        mRatingBar.setStarCount(5);
        //设置星星的宽度
        mRatingBar.setStarImageWidth(40f);
        //设置星星的高度
        mRatingBar.setStarImageHeight(40f);
        //设置星星之间的距离
        mRatingBar.setImagePadding(5f);
        //设置空星星
        mRatingBar.setStarEmptyDrawable(getResources()
                .getDrawable(R.mipmap.ratingbar_star_empty));
        //设置填充的星星
        mRatingBar.setStarFillDrawable(getResources()
                .getDrawable(R.mipmap.ratingbar_star_fill));
        //设置半颗星
        mRatingBar.setStarHalfDrawable(getResources()
                .getDrawable(R.mipmap.ratingbar_star_half));
        //设置显示的星星个数
        mRatingBar.setStar(4.5f);
        //设置评分的监听
        mRatingBar.setOnRatingChangeListener(
                new RatingBar.OnRatingChangeListener() {
            @Override
            public void onRatingChange(float RatingCount) {
                Toast.makeText(MainActivity.this, "你给出了"+
                        (int)(RatingCount/5*100)+"分",
                        Toast.LENGTH_SHORT).show();
            }
        });
    }
}

运行效果:



这个控件的确比原生的RatingBar要好得多,使用起来也很方便。效果不错。星星图标不用留空,可以自由调整大小和间距,半颗星自然对齐。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android开发总结笔记 RatingBar(评分条) 1-1-12

RatingBar(API)用星星的数量来进行评分显示。是个比较简单的组件。下面来看一看他的一些属性 android:isIndicator        设置Rating是否为指示器,意思...

RatingBar自定义图片大小如何确定

因为一个妹子问的,自己去做自定义RatingBar,按照网上的步骤,却发现RatingBar自定义的图片不能很好适配,查了很多资料,最终想到了这点

安卓RatingBar的使用(评分控件)

安卓RatingBar的使用(评分控件)

Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar

拖动条SeekBar和星级评分条RatingBar在实际开发中使用频率也很高,其实非常简单。

Android学习笔记(十八):ListView和RatingBar

在学习笔记(十七)中,我们对ListView做了进一步的探讨,然而给出的例子list中的元素可以有多个widget,并可灵活设置他们的值,但是这些widget之间缺乏互动,而且getView()的调用...

修改RatingBar显示的背景图片

等级控件ratingBar的显示有点单调,想着把他改成其他我需要的图片。参考网上资料,尝试了一下,很简单的记录一下。 原图 修改 很简单的配置 1.            ...

Android自定义View实现商品评价星星评分控件

先上图看实现效果: 首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性,只定义三个,有间距、分值和是否可以编辑:

Android评分控件RatingBar的相关问题

RatingBar,Android系统原生的评分控件,类似淘宝一类的电商APP在购买支付,确认付款之后都会有评价和评星级(评分的)功能,也可以用这个去实现。

android自定义控件(星级评分)

一、背景 视觉过来提了一个需求,要求完成一个星级评分控件,该控件中的星星的颜色需要实现渐变的效果,并且没有渐变的规律,也就是说各个星星的颜色需要不一样,效果如下: 二、问题分析 星星控件...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)