目录 RatingBar Android开发中,时不时的就有要实现星星的评分效果,比如某宝,某团,相信大家也都见过,它就是RatingBar。...RatingBar继承ProgressBar,除了ProgressBar的属性外还有特有属性....; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.RatingBar...; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private...} } 执行效果: 参考 Android星级评分条控件RatingBar Android基础控件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
在定义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 是否是用户操作的
通过本节课可以学习到的内容: ToggleButton的用法 RatingBar的用法 ---- 实例代码: 运行效果参见本课程示例App:安卓猴Demos github地址:https:/...Switch,开关,类似于生活中的白色墙壁开关。 RatingBar的用法 RatingBar,它是SeekBar和ProgressBar的扩展,用星型来显示等级评定。 效果预览 ?...; import android.widget.RatingBar; import android.widget.Switch; import android.widget.Toast; import...的事件监听方法 */ @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser...,前者在App的设置页面,后者在商店商品的评分方面,应用都是十分广泛的。
LinearLayout> java文件 1 package lianxi; 2 3 import com.example.jichu_lianxi.R; 4 5 import android.app.Activity...; 11 import android.widget.RatingBar; 12 import android.widget.SeekBar; 13 import android.widget.SeekBar.OnSeekBarChangeListener...; 14 import android.widget.TextView; 15 import android.widget.Toast; 16 17 public class SeekBar_Or_RatingBar...= (RatingBar) findViewById(R.id.ratingBar1); 32 //拖动条的响应事件 33 seekbar.setOnSeekBarChangeListener..., "结束滑动", Toast.LENGTH_SHORT).show(); 40 41 } 42 //开始拖动时的响应事件
SeekBar 的监听 OnSeekBarChangeListener RatingBar的监听 OnRatingBarChangeListener 以下我们通过实例来熟悉它们 (1)编写布局文件...编写 MainActivity.java package com.example.bar; import android.annotation.TargetApi; import android.app.Activity...; import android.widget.RatingBar; import android.widget.RatingBar.OnRatingBarChangeListener; import...android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; @TargetApi(Build.VERSION_CODES.HONEYCOMB...(new OnRatingBarChangeListener() { /** * ratingBar:RatingBar对象 * rating :星级的大小
经过调研,实际上都是以全埋点为主、手动埋点为辅的情况,从而达到比较理想的埋点效果。 本文内容可能稍微有点长,但是很简单,别太长不看啊,最后有demo源码。...最后调用了Log打印出来,来看一下最后完整的数据: { "event": "$AppViewScreen", "extras": { "app_name": "TrackDemo", "screen_width...} } catch (Exception e) { e.printStackTrace(); } //插入埋点代码...SensorsDataPrivate.trackViewOnClick(view); } } 很简单,也是实现系统的OnClickListener方法,然后在执行click的时候插入埋点代码...除了正常的单个控件的点击事件之外,还有列表的item click事件、还有RatingBar等等,限于篇幅就不细说了,原理都是相通的,具体可以查看Demo。
继续使用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一样自定义。
7.2.3.图像按钮 图像按钮是一个带有图片的按钮,从逻辑上可以实现普通按钮功能。图像按钮实际上是结合图像和按钮的双重特性。...ImageButton 和 ImageView 的区别也仅在于外观和使用方式上,主要的图像设置方法和 ImageButton 中的一样。...事实上,ImageButton 除了在外观上表现成一个按钮的状态,其他方面和 ImageView 基本一样。...标签,RatingBar 的继承关系如下所示: => android.view.View => android.widget.ProgressBar => android.widget.AbsSeekBar...=> android.widget.RatingBar AbsSeekBar 是 ProgressBar 的扩展者,这是一个表示绝对进度的类,由于使用的是绝对进度,因此主要区别是 AbsSeekBar
不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有APP的开发,还会经常用到一些诸如进度条、拖动条、搜索框、时间和日期选择器等组件...一、ProgressBar系列组件 ProgressBar也是一组重要的组件,ProgressBar本身代表了进度条组件,它还派生了两个常用的组件:SeekBar和RatingBar。...ProgressBar及其子类在用法上十分相似,只是显示界面有一定的区别,因此本节把它们归为一类,针对它们的共性集中讲解,并突出介绍它们的区别。...ProgressBar继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar, 其中AbsSeekBar的子类有SeekBar和RatingBar,可见这二者是基于...@android:style/Widget.ProgressBar.Inverse:普通大小的环形进度条。
import android.net.NetworkInfo; import android.os.Bundle; import android.view.View; import android.widget.Toast...="match_parent" android:layout_height="match_parent" android:orientation="vertical" > RatingBar...="wrap_content" /> RatingBar android:id="@+id/ratingBar2" android:layout_width=..." android:label="@string/app_name" > 注:本案例的网络查看状态仅仅能在2.3的模拟器上使用; Demo源代码下载:
RatingBar 点击评分栏后,通过Toast显示当前分数 单击按钮获取当前分数并将其显示在TextView上 RatingBar android:id="@+id/rb_normal...然后交给RatingBar。 从继承的角度来看,RatingBar源自SeekBar,因此它具有SeekBar的所有属性和功能(当然包括ProgressBar的功能)。...让我们先来体验一下RatingBar的风格: Widget.RatingBar">...我们将在主要应用程序市场、电影票应用程序、团购应用程序和其他场景中看到很多RatingBar。 用户可以点击不同的星星来打分。...通过RatingBar,我们可以得到一个浮点数,例如1.0、2.3、5.5,这与我们给电影打分的方式类似。
Widget.RatingBar"> 的比喻:我们可以分别称这三类:画家、画布和用画笔画的东西;艺术家用画笔(LayoutInfector.infalte)绘制一个图案,然后在画布上绘制(addView)!...这些UI组件具有用于其属性的API文档,例如操作栏、对话框和状态通知栏。 在Android APP中,所有用户界面元素都由View和ViewGroup对象组成。...视图是用户在屏幕上绘制时可以与之交互的对象。ViewGroup是用于存储其他View(和ViewGroup)对象的布局容器!...每个ViewGroup都是用于组织子视图的不可见容器。其子视图可以是在UI上绘制区域的输入控件或小部件。
练习(没写,照着前面页面cv就行) (共100分) 做完出成绩 分数屏幕居中显示 等级在分数下面显示 (等级使用的是RatingBar控件(星级评分条) 项目目录 .java questionBank...import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button...; import android.widget.RadioButton; import top.gaojc.answerSystem.returnData.EightRankActivity; import...import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button...layout_height="match_parent" tools:context="top.gaojc.answerSystem.returnData.ZeroRankActivity"> RatingBar
,也有很多上了年纪的人拿起C语言的书籍一步步跟着网络上的教材进行学习,随着编程语言在国内的普及,编程语言的生态已经发生了很大的变化,特别是高级语言的普及化,倒是显得很多底层语言在编程领域的影响力在下降,...,因为未来社会与智能化的机器已经紧紧捆绑在一起了,想要更方便的操控机器掌握一定的编程基础的人可能就会产生新的行业,如果有可能掌握一门编程对于适应未来的社会是存在好处的。...回到编程语言的学习过程,编程语言学习最佳的方式掌握一定理论基础上有项目实战,如果两种条件都是具备的情况下可能几个月就能找到编程的感觉,而大部分自学编程的人更多是在网络上找到自己觉得重要的视频学习起来,并且通过...CSDN等途径进行知识性的拓展,在某种阶段也是小有收获的存在,但在大部分情况下还是处于迷茫的状态,这种属于典型的没有方向感的方式,要摆脱这种模式建议静下心来默默的梳理自己的思路,先从掌握基础的理论开始,...最好的学习编程的方式就是在掌握一定理论的基础上再去实践能够取得意想不到的效果。 ?
自android5.0推出以来,google大力宣扬Meterail Design这款视觉设计语言,在新系统上,大量的运用到了Meterail Design风格,显然这些效果低版本时并没有实现,那么google...所以mFactory2.onCreateView的方法实际上就是调用AppCompatDelegateImplV9 中的onCreateView方法 /** * From {@link...isPre21, /* Only read android:theme pre-L (L+ handles this anyway) */ true, /* Read read app...= new AppCompatMultiAutoCompleteTextView(context, attrs); break; case "RatingBar...替换:widget着色是通过这个widget 的layout 在inflation 的时候,被AppCompatDelegate 拦截下来,然后根据控件的名字,强制被系统转换成为 以AppCompat
背景 疑问: 中小公司维护一个 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
你有没有好奇这背后都经历了什么?runApp 为什么这么神秘?或者说,在你入门 Flutter 后应该经常听到或看到过 Flutter 三棵树核心机制的东西,你有真正的想过他们都是什么吗?...Flutter 程序入口 我们编写的 Flutter App 一般入口都是在 main 方法,其内部通过调用 runApp 方法将我们自己整个应用的 Widget 添加并运行,所以我们直接去看下 runApp...* 多次重复调用runApp将会从屏幕上移除已添加的app Widget并添加新的上去, * 框架会对新的Widget树与之前的Widget树进行比较,并将任何差异应用于底层渲染树,有点类似于StatefulWidget...child 属性上。...上面代码流程对应的时序图大致如下: [在这里插入图片描述] 结合上一小结可以很容易看出来三棵树的创建时机(时序图中紫红色节点),也可以很容易看出来 Element 是 Widget 和 RenderObject
图片二选一: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
之前还是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了。