首页
学习
活动
专区
圈层
工具
发布

—RatingBar(星级评分条)

引言 上一篇的 CheckBox已经让大家越来越接近实战演练了,本章我们继续分享干货给大家,今天介绍一个实用的UI控件 RatingBar(星级评分条),对于使用过电商APP(某东,某宝等)的小伙伴们来说...在对商品进行评价时,经常会出现五星好评的评分样式,这个五星评分样式就是今天的主角 RatingBar。 简介 RatingBar:用于评分和展示的星级评分控件。...public class RatingBar extends AbsSeekBar java.lang.Object ↳ android.view.View ↳ android.widget.ProgressBar...↳ android.widget.AbsSeekBar ↳ android.widget.RatingBar 由上面的继承结构可以看出, RatingBar是基于 SeekBar...ratingBar" parent="@android:style/Widget.RatingBar"> <item name="android:progressDrawable

3.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android之SeekBar和RatingBar

    在定义RatingBar中有两个属性需要说明一下,android:numStars是用来设置你要显示的星星的个数,这个根据需求自己来设置,我在这里设置为5个,android:stepSize是来设置RatingBar...;   import android.app.Activity;   import android.os.Bundle;   import android.util.Log;   import...android.widget.RatingBar;    import android.widget.RatingBar.OnRatingBarChangeListener;    import android.widget.SeekBar...(this);//设置监听器,监听进度条的改变状态      ratingBar.setOnRatingBarChangeListener(this);//设置监听器,监听ratingbar...的进度发生变化时调用该方法    * ratingBar, 当前的ratingBar    * rating 代表评分    * fromUser 是否是用户操作的

    68320

    Android 全埋点解决方案

    经过调研,实际上都是以全埋点为主、手动埋点为辅的情况,从而达到比较理想的埋点效果。 本文内容可能稍微有点长,但是很简单,别太长不看啊,最后有demo源码。...最后调用了Log打印出来,来看一下最后完整的数据: { "event": "$AppViewScreen", "extras": { "app_name": "TrackDemo", "screen_width...} } catch (Exception e) { e.printStackTrace(); } //插入埋点代码...SensorsDataPrivate.trackViewOnClick(view); } } 很简单,也是实现系统的OnClickListener方法,然后在执行click的时候插入埋点代码...除了正常的单个控件的点击事件之外,还有列表的item click事件、还有RatingBar等等,限于篇幅就不细说了,原理都是相通的,具体可以查看Demo。

    1.1K10

    拖动条SeekBar和星级评分条RatingBar

    继续使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建seekbar_layout.xml文件,在其中填充如下代码片段: <...import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.SeekBar...实际上星级评分条与拖动条的用法、功能都十分接近:它们都允许用户通过拖动来改变进度。RatingBar与SeekBar的最大区别在于:RatingBar通过星星来表示进度。...继续使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建ratingbar_layout.xml文件,在其中填充如下代码片段:...很多时候,默认的RatingBar并不能满足我们的要求,一般都是修改RatingBar的大小、图样、颜色等,也可以同ProgressBar一样自定义。

    1.9K90

    速读原著-Android应用开发入门教程(基本控件的使用)

    7.2.3.图像按钮 图像按钮是一个带有图片的按钮,从逻辑上可以实现普通按钮功能。图像按钮实际上是结合图像和按钮的双重特性。...ImageButton 和 ImageView 的区别也仅在于外观和使用方式上,主要的图像设置方法和 ImageButton 中的一样。...事实上,ImageButton 除了在外观上表现成一个按钮的状态,其他方面和 ImageView 基本一样。...标签,RatingBar 的继承关系如下所示: => android.view.View => android.widget.ProgressBar => android.widget.AbsSeekBar...=> android.widget.RatingBar AbsSeekBar 是 ProgressBar 的扩展者,这是一个表示绝对进度的类,由于使用的是绝对进度,因此主要区别是 AbsSeekBar

    1.9K10

    非常普遍的ProgressBar进度条

    不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有APP的开发,还会经常用到一些诸如进度条、拖动条、搜索框、时间和日期选择器等组件...一、ProgressBar系列组件 ProgressBar也是一组重要的组件,ProgressBar本身代表了进度条组件,它还派生了两个常用的组件:SeekBar和RatingBar。...ProgressBar及其子类在用法上十分相似,只是显示界面有一定的区别,因此本节把它们归为一类,针对它们的共性集中讲解,并突出介绍它们的区别。...ProgressBar继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar, 其中AbsSeekBar的子类有SeekBar和RatingBar,可见这二者是基于...@android:style/Widget.ProgressBar.Inverse:普通大小的环形进度条。

    2.5K50

    C语言快学完了,但oj上的题大部分做不出来,都是在CSDN找的,是不是很不正常?有没有办法改?

    ,也有很多上了年纪的人拿起C语言的书籍一步步跟着网络上的教材进行学习,随着编程语言在国内的普及,编程语言的生态已经发生了很大的变化,特别是高级语言的普及化,倒是显得很多底层语言在编程领域的影响力在下降,...,因为未来社会与智能化的机器已经紧紧捆绑在一起了,想要更方便的操控机器掌握一定的编程基础的人可能就会产生新的行业,如果有可能掌握一门编程对于适应未来的社会是存在好处的。...回到编程语言的学习过程,编程语言学习最佳的方式掌握一定理论基础上有项目实战,如果两种条件都是具备的情况下可能几个月就能找到编程的感觉,而大部分自学编程的人更多是在网络上找到自己觉得重要的视频学习起来,并且通过...CSDN等途径进行知识性的拓展,在某种阶段也是小有收获的存在,但在大部分情况下还是处于迷茫的状态,这种属于典型的没有方向感的方式,要摆脱这种模式建议静下心来默默的梳理自己的思路,先从掌握基础的理论开始,...最好的学习编程的方式就是在掌握一定理论的基础上再去实践能够取得意想不到的效果。 ?

    1.8K20

    起飞了!Git新开源高星《Flutter跨平台开发入门与实战笔记》安卓高阶必备

    背景 疑问: 中小公司维护一个 App 的成本太高了,有没有办法可以降低成本的可能性,但是又不想让代码缺少维护? 有没有方案可以实现一份代码可以运行在多个平台,减少沟通成本呢?...《Flutter跨平台开发入门与实战笔记》 笔记目录: 为什么Flutter是跨平台开发的终极之选 在Windows上搭建Flutter开发环境 编写您的第一个 Flutter App Flutter...的特性 Flutter 构建应用的工具 使用 Flutter 构建的热门应用 构建 Flutter 应用的成本 …… 第二章 在Windows上搭建Flutter开发环境 使用镜像 系统要求 获取Flutter...app 第2步: 使用外部包(package) 第3步: 添加一个 有状态的部件(Stateful widget) 第4步: 创建一个无限滚动ListView 第5步: 添加交互 第6步: 导航到新页面...…… 第十二章 Flutter中的widget Flutter页面-基础Widget Widget StatelessWidget Stateful Widget State生命周期 基础widget

    1.8K10

    Flutter 的 runApp 与三棵树诞生流程源码分析

    你有没有好奇这背后都经历了什么?runApp 为什么这么神秘?或者说,在你入门 Flutter 后应该经常听到或看到过 Flutter 三棵树核心机制的东西,你有真正的想过他们都是什么吗?...Flutter 程序入口 我们编写的 Flutter App 一般入口都是在 main 方法,其内部通过调用 runApp 方法将我们自己整个应用的 Widget 添加并运行,所以我们直接去看下 runApp...* 多次重复调用runApp将会从屏幕上移除已添加的app Widget并添加新的上去, * 框架会对新的Widget树与之前的Widget树进行比较,并将任何差异应用于底层渲染树,有点类似于StatefulWidget...child 属性上。...上面代码流程对应的时序图大致如下: [在这里插入图片描述] 结合上一小结可以很容易看出来三棵树的创建时机(时序图中紫红色节点),也可以很容易看出来 Element 是 Widget 和 RenderObject

    1.2K00

    【快速解决】实验三 简单注册的实现《Android程序设计》实验报告

    图片二选一:ImageView、ImageButton 按钮必选:Button、RadioButton、CheckBox 可选:togglebutton 进度条三选一:ProgressBar、SeekBar、RatingBar...如果没问题请写“无”) 注意: 这篇文章中小光会带你们将老师布置的实验内容这部分,详细的讲解一下,大家可以直接复制代码,也可以学习一下怎么写,在这个基础上加以拓展,这样就不会查重了。...; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageButton...; import android.widget.EditText; import android.widget.RadioGroup; import android.widget.RadioButton...; import android.widget.Toast; import android.widget.CheckBox; import android.widget.ImageButton; import

    1.6K20

    java.lang.NoClassDefFoundError: android.support.v7.internal.widget.TintManager 解决办法

    之前还是ok的,今天添加了一个lib项目,运行时就报这样的错: android.support.v7.internal.widget.TintManager at android.support.design.widget.TabLayout...(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread...com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) 最后在stackoverflow上找到了解决办法...想去stackoverflow看的点这里 问题原因 我引入的新lib中的build.gradle中的兼容包版本是: compile 'com.android.support:appcompat-v7:23.3.0...解决办法 所以解决办法就是把整个项目里的所有兼容包版本都修改成一致,注意是所有,比如我就通过把项目兼容包都换成23.3.0后再运行就OK了。

    32410
    领券