Android中自定义RatingBar,自定义星星间距,自定义样式,自定义显示效果

本文介绍了如何在Android中自定义RatingBar,包括调整星星间距、设置自定义样式以及创建可定制的显示效果。通过切图控制间距,自定义View实现深度定制,同时讲解了自定义控件的实现过程和使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RatingBar是在等级,星级显示的时候,用的最多的,但是系统自带的效果,在星星间距大小上,以及将星星替换为其他造型上不能满足需求,所以需要自定义RatingBar;

自定义RatingBar非常简单:

一:简单的自定义(自定义样式)

1,确定展示出的选中和未选中两种状态的图片;

<?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/star2"></item>               
                <item android:id="@+android:id/secondaryProgress"
                android:drawable="@drawable/star2"></item>
                <item android:id="@+android:id/progress"
        android:drawable="@drawable/star1"></item>

</layer-list>

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

对于星星之间的间距,可以通过切图,切图的透明底图的大小来试下控制,星星的间距。

2,自定义样式

<style name="yogaCourseRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/yota_ratingbar_progress_drawable</item>
        <item name="android:minHeight">13dp</item>
        <item name="android:maxHeight">13dp</item>
    </style>

3,使用

<RatingBar 
        android:id="@+id/ratingStart"
        android:layout_toRightOf="@id/difficultTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="0dp"
        android:layout_alignBottom="@id
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值