zoukankan      html  css  js  c++  java
  • 坑爹的RatingBar

           Android中的RatingBar控件,设置矮了、窄了就显示不全。网上遍寻自定义大小的文章,简单的问题看得一头雾水,屡试不得。

           突然灵光一现,原来是自己傻了,其实小星星都是系统的或者自备的单个图片,安卓的方法并没去根据宽高同步拉伸,想要符合尺寸的小星星还是得自己先做好。

          下边是方法记录,备忘:

          1.拉伸好想要尺寸的小星星:满的,空的各一张(别指望系统帮你同步拉伸):对应文件 rating_full.png,rating_empty.png

                       

          2.copy到drawble图片文件夹

          3.在Value-style,xml文件中设置好样式 

    <style name="my_ratingBar"  parent="Base.Widget.AppCompat.RatingBar">
        <item name="android:progressDrawable">
            @drawable/my_ratingbar</item>
        <item name="android:minHeight">28dip</item>
        <item name="android:maxHeight">28dip</item>
        </style>
    

      4.在drawble文件夹下新建文件my_ratingbar.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/rating_empty" />
        <item android:id="@android:id/secondaryProgress"
            android:drawable="@drawable/rating_empty" />
        <item android:id="@android:id/progress"
            android:drawable="@drawable/rating_full" />
    
    </layer-list>
    

      5.在布局文件中直接设置style就行了。

        <RatingBar
            android:id="@+id/ratingBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/my_ratingBar"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    

      

           随便记录一下RatingBar常用属性:

          android:isIndicator:是否用作指示,用户无法更改,默认false
          android:numStars:显示多少个星星,必须为整数
          android:rating:默认评分值,必须为浮点数
          android:stepSize: 评分每次增加的值,必须为浮点数 

          setNumStars()   设置最多显示星星的个数。等同于xml中的android:max=""
          setRating()         设置要显示的星星的个数。等同于xml中的android:rating=""

    以前的是程序员的老板,现在是末路出家的程序员小白。
  • 相关阅读:
    如何找出数组中重复次数最多的数
    如何计算两个有序整型数组的交集
    如何分别使用递归与非递归实现二分查找算法
    如何用递归算法判断一个数组是否是递增
    如何用一个for循环打印出一个二维数组
    如何用递归实现数组求和
    ElasticSearch安装和head插件安装
    SpringBoot全局异常处理方式
    Redis高级命令操作大全--推荐
    Mysql中FIND_IN_SET和REPLACE函数简介
  • 原文地址:https://www.cnblogs.com/xiaoyao-blog/p/13534645.html
Copyright © 2011-2022 走看看