评分组件也疯狂

美团完,淘宝完,消费完,那些各种评分组件是不是让你也疯狂呢,那么,现在我们自己来做一个评分组件,小星星登场。

RatingBar 这里我们定义两个五角星评分组件,以便显示我们定义与系统默认的区别。

首先布局文档:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/TableLayout1"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TableRowandroid:id="@+id/tableRow1"android:layout_width="wrap_content"android:layout_height="wrap_content" ><RatingBarandroid:id="@+id/ratingBar1"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:textSize="50px"android:layout_height="fill_parent" /></TableRow><RatingBarandroid:id="@+id/ratingBar2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:numStars="4"//星星的数目为4颗android:rating="3" />//评分为三颗星<Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="评分完成" /></TableLayout>

这里我们用TableRow布局,而且这一节课我们会讲到Toast信息提示框的使用,就是我们经常在手机点了什么,下面出现的一个信息框,然后一会又隐去的那个。MainActivity.java文件代码:

rivate RatingBar rating=null;private TextView text=null;private Button bt;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.rating=(RatingBar)super.findViewById(R.id.ratingBar1);this.text=(TextView)super.findViewById(R.id.textView1);this.rating.setOnRatingBarChangeListener(new Rating());this.bt=(Button)super.findViewById(R.id.button1);this.bt.setOnClickListener(new click());}相信经过前面几节课的学习,大家对上一段代码都很熟悉了,下面就是事件处理了。这里我们模拟一下美团的评分系统,之前做的美团美食列表评分只是图片,现在我们真枪实战:
private class Rating implements OnRatingBarChangeListener{@Overridepublic void onRatingChanged(RatingBar ratingbar, float rating, boolean fromuser) {// TODO Auto-generated method stub//text.append("当前评分:"+ratingbar.getRating()+"   "+"增长步长: "+ratingbar.getStepSize());String result=null;switch((int)rating){case 5:result="非常满意";break;case 4:result="满意";break;case 3:result="还可以";break;case 2:result="不满意";break;case 1:result="非常不满意";break;}text.setText(result);}}

然后处理button事件,这里我们实现一个与系统默认不一样的信息提示框,带图片自定义的:

<!--EndFragment-->

private class click implements OnClickListener{@Overridepublic void onClick(View arg0) {Toast t=Toast.makeText(MainActivity.this, "长时间显示", Toast.LENGTH_LONG);//这里可以定义长时间和短时间显示t.setGravity(Gravity.CENTER, 60, 30);//对齐方式及位置//取得toast的view组件,以便添加图片LinearLayout myview=(LinearLayout)t.getView();ImageView image=new ImageView(MainActivity.this);image.setImageResource(R.drawable.back);//设置图片资源myview.addView(image,0);t.show();}}

注意一定要得到Toast的view组件才可以添加图片

实现效果如下:

<!--EndFragment--><!--EndFragment--><!--EndFragment-->

Android美团评分组件及消息提示框自我定制(14)相关推荐

  1. Android消息提示框及CheckBox组件

    目录 一.Toast(消息提示框) 1.创建显示普通文本的Toast 2.创建显示带图片的Toast 二.CheckBox组件 1.在CheckBox在XML文件中的基本语法 2.CheckBox 选 ...

  2. layer - 简单好用的Web弹出层组件使用详解1(安装配置、消息提示框)

    一.基本介绍 1,什么是 layer? layer 是一款近年来备受青睐的 web 弹层组件,可轻松实现 Alert / Confirm / Prompt / 普通提示 / 页面区块 / iframe ...

  3. Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)

     Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog) Android第三方开源对话消息提示框:SweetAlertDialog(swe ...

  4. Android消息提示框

    Toast(吐丝框) 1.1 Toast是Android中的一种简易的消息提示框 1.2 使用这个类的最简单的方法是调用静态方法构造您所需要的一切,并返回一个新的Toast对象. Toast toas ...

  5. 简易消息提示框Toast和通知的使用

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) Android中的Toast是一种简易的消息提示框.和Dialog不一样的是,Toast是没有焦点的,toas ...

  6. 微信小程序-消息提示框实例

    做Android的时候对toast是很熟悉的.微信小程序开发中toast也是重要的消息提示方式. 提示框: wx.showToast(OBJECT) 显示消息提示框 OBJECT参数说明: 示例代码: ...

  7. flutter Toast消息提示框

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 本文章将讲述: 1.在 flutter 跨平台开发中,使用 Dart 实现 Toast 消息提示框效果 2.Overl ...

  8. uniapp 消息提示框

    uni.showToast(OBJECT) 显示消息提示框. OBJECT参数说明 参数 类型 必填 说明 平台差异说明 title String 是 提示的内容,长度与 icon 取值有关.   i ...

  9. vue实现消息提示框

    我们常常看到很多vue生态下的ui框架的消息提示框,在页面切换的时候依然停留在页面,我们知道vue这种单页面渐进式框架,所有的操作和元素都是挂载在一个节点上的,当路由变化是整个节点下的dom元素也在重 ...

最新文章

  1. AI一分钟 | 传许家印已投资贾跃亭FF;腾讯将发布可接收微信的智能音箱;阿里确认研发自动驾驶技术
  2. 1006 换个格式输出整数 (15 分)(c语言)
  3. div没有设置高度,背景颜色却无法显示
  4. linux网络编程:使用多进程实现socket同时收发数据
  5. [react] React16废弃了哪些生命周期?为什么?
  6. LeetCode 1167. 连接棒材的最低费用(优先队列+贪心)
  7. 计算机网络(二十七)-IPv4
  8. away3d 4.0.9Gold 学习笔记 加载模型(6)
  9. 招程序员不要信中医的? | 从编程的角度看中医
  10. android获取wifi支持的信道,Android获取当前连接wifi的信道
  11. 大学里大四的学生一般在干什么
  12. Android 集成谷歌地图
  13. BIP与Siebel系统集成
  14. 用python代码实现一个简单的FSA(有限状态自动机)
  15. opboot怎么刷入固件_竞斗云系列四:Opboot1.09+128M固件刷机
  16. 【机器视觉】Halcon 19安装教程详解
  17. C#实现监控网络流量
  18. merlin 实现中文语音合成基础知识和常见问题汇总
  19. 四书《孟子》《论语》《中庸》《大学》五经《风》《雅》《颂》全文
  20. Linux 创建、删除文件夹

热门文章

  1. Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花
  2. IIS6 日志删除脚本(t00ls)
  3. maven仓库的优先级,profile的优先级
  4. android手机api等级_什么是Android API 级别?
  5. ratel平头哥电脑感染app
  6. html背景视频如何自动播放,使用视频作为网页背景的技术探讨
  7. 数据中心机房有哪些等级,国内外的评级标准?
  8. 为什么说运维的未来必然是 AIOps?
  9. 聚合架构-晓岩企业架构系列讲座整理(0-19)
  10. 另辟蹊径,独树一帜的写作方法