- 浏览: 333564 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
xuanyuanxiaoxue:
...
Android - LayoutInflater -
柴兴博:
不错 多谢
Android 悬浮Activity并可拖动(访悬浮歌词) -
di1984HIT:
写的很好,我收藏一下。
java之动态代理模式(JDK和cglib) -
chinacssnj:
待测试,明天测,测试的结果发给大家
网络开发上传文件到服务器 -
fx_199182:
...
Android之MediaPlayer
一:概述
RatingBar是SeekBar和ProgressBar的扩展,用星星来评级。使用的默认大小RatingBar时,用户可以触摸/拖动或使用键来设置评分,它有俩种样式(大、小),其中大的只适合指示,不适合于用户交互。
二:修改xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RatingBar android:id="@+id/ratingBar" android:layout_height="wrap_content" android:layout_width="wrap_content" /> </LinearLayout>
三:添加关键代码。
import android.app.Activity; import android.os.Bundle; import android.widget.RatingBar; import android.widget.Toast; public class Ratingbar extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar); //定义星级 ratingBar.setNumStars(5); //设置默认 ratingBar.setRating(3); //监听星级改变并显示改变值 ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { // TODO Auto-generated method stub ratingBar.setRating(rating); Toast.makeText(Ratingbar.this, "rating:" + String.valueOf(rating), Toast.LENGTH_LONG).show(); } }); } }
四:RatingBar自定义样式创建
先看看效果:
有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar。
从上面的效果可以看出,自定义这样的组件,需要两张图片: 。一张用来未选择的效果,一张用来显示的效果。那还要中间那种一半是未选择一半时选择的呢?其实当你写好这样的组件后,系统就会自动帮你自动解析生成那种效果。
整个项目布局:
我们一步一步来分析:
<RatingBar style="@style/roomRatingBar" android:layout_marginLeft="10dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/room_ratingbar"></RatingBar>
从上面可看出自定义ratingbar主要是这段style="@style/roomRatingBar" ,好我们去找到这段代码
/////////styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> <style name="roomRatingBar" parent="@android:style/Widget.RatingBar"> <item name="android:progressDrawable">@drawable/room_rating_bar</item> <item name="android:minHeight">16dip</item> <item name="android:maxHeight">16dip</item> </style> </resources>
上面的意思是继承@android:style/Widget.RatingBar,重写android:progressDrawable属性,换成我们自定义@drawable/room_rating_bar文件。
控制该组件的最大和最小高度。好我们继续去找这自定义文件@drawable/room_rating_bar。
///// room_rating_bar.xml <?xml version="1.0" encoding="utf-8"?> <!-- This is the rating bar drawable that is used to show a room num. --> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+android:id/background" android:drawable="@drawable/room_unselect"></item> <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/room_unselect"></item> <item android:id="@+android:id/progress" android:drawable="@drawable/room_select"></item> </layer-list>
好了,越来越接近真相了。这里就是定义组件的背景图片、一级进度背景图片和二级进度背景图片(里面这些id都是系统的id,当系统运行到这里时会自动根据这个id去重画组件)
讲到这里大概明白怎么用了。其实很多组件都可以通过这样的方法来使用,但如果明白整个过程,那以后做起其他来都至少有一点得心应手的感觉吧。好!下来我也只能说说我的见解,因为本人对android的理解也不是很深入。
前提是下载android的源码,这里我就不讲了。在android framework\base\core\res\res\values(android framework是我保存源码的目录)目录下找到styles.xml文件,该文件是android系统运行时所要加载的文件,里面保存了所有组件的样式定义。在里面你可以找到<style name="Widget.RatingBar">我们之前继承的其中一个组件样式,也有其他<style name="Widget.RatingBar.Small">、<style name="Widget.SeekBar">、<style name="Widget.ProgressBar.Small">等等。这样里面的属性我们继承后就可以被重写成其他的了。
项目:
- testRatingBar.zip (55.7 KB)
- 下载次数: 94
发表评论
-
Android中AsyncTask的简单用法
2012-01-13 16:00 1177在开发Android移动客户端的时候往往要使用多线程来进行操 ... -
Android应用的自动升级、更新模块的实现 .
2011-11-16 14:01 685http://www.eoeandroid.com/threa ... -
一个APK反编译利器Apktool
2011-11-16 13:54 1602一个APK反编译利器Apktool APK 本地化 ... -
自定义Android标题栏TitleBar布局
2011-11-14 14:13 1273很多网友发现自己Android程序的标题栏TitleBar区域 ... -
Android GPS获取地理位置 .
2011-11-14 14:11 873import android.app.Activity; i ... -
android ListView详解
2011-11-14 13:48 1071在android开发中ListView是比较常用的组件,它以列 ... -
Android之Content provider 详解
2011-11-14 13:35 2492Android是如何实现应用程序之间数据共享的?一个应用程序可 ... -
Android源码地址
2011-11-12 19:14 1064http://blog.csdn.net/ilittleone ... -
android之File
2011-11-11 22:39 20231:Fileservice package cn.itcas ... -
Android知识补漏
2011-11-09 22:33 01:AndroidManifiest.xml < ... -
深入剖析Android消息机制
2011-11-09 14:13 974在Android中,线程内部或者线程之间进行信息交互时经常会使 ... -
Android之Handler详解(四)
2011-11-09 14:00 1296d、自己创建新的线程,然后在新线程中创建Looper,主线程调 ... -
Android之Handler详解(三)
2011-11-09 13:58 1376c、将消息队列绑定到子线程上,主线程只管通过Handl ... -
Android之Handler详解(二)
2011-11-09 13:54 1685二:sendMessage版本的Handl ... -
Android之Handler详解(一)
2011-11-09 13:22 2307一个Handler允许你发送和处理消息(Message)以及 ... -
关于StartActivityForResult方法的使用
2011-10-31 17:11 1115根据方法名可知 这个方法是要得到启动后的Activity返回的 ... -
Android 悬浮Activity并可拖动(访悬浮歌词)
2011-10-24 16:23 2119天天动听, 这款Android手机上的音乐播放器,相信不少朋友 ... -
Android GWES
2011-10-24 16:13 1212第八章 Android GWES 8.1 View Syst ... -
Android系统服务-WindowManager
2011-10-24 16:10 1468WindowManager是Android中一个重要的服务 ... -
http通信
2011-10-15 17:31 1111HTTP(HyperText Transfer Proto ...
相关推荐
在Android开发中,RatingBar是一个常用的UI组件,用于展示用户评价或者打分的场景,比如电影评分、商品评价等。本篇文章将详细讲解如何使用和自定义RatingBar,以满足不同设计需求。 首先,RatingBar的基本用法是...
在Android开发中,RatingBar是一个常用的UI组件,用于展示用户评价或者打分的场景。它通常显示为一系列的星星,用户可以对它们进行选择来表示评分。然而,Android系统默认的RatingBar样式可能无法满足所有设计需求,...
在Android开发中,RatingBar是一个常用的UI组件,用于展示用户评价或者打分的界面元素。本教程将深入探讨如何自定义一个带有注释的RatingBar,以满足个性化需求。我们将从以下几个方面详细介绍这个过程: 1. **...
在Android开发中, RatingBar 是一个非常常见的组件,用于用户对某一内容进行评分。系统默认的RatingBar虽然功能基础,但有时无法满足我们对于界面设计的个性化需求。本篇文章将详细探讨如何根据实际需求自定义...
在Android开发中,RatingBar是一种常用的视图组件,它用于显示用户评价或评分,通常用于电影、产品或服务的评价场景。本实例将深入探讨如何在Android应用中创建和使用RatingBar,适合初级到高级的Android开发者学习...
在 Android 开发中,RatingBar 是一个非常常用的组件,用于显示评分或星级評價。但是,系统默认的 RatingBar 样式可能不够美观,于是我们需要自定义 RatingBar 的样式来满足我们的需求。在这篇文章中,我们将介绍...
在XML布局文件中,可以通过<RatingBar>标签添加评分组件。例如: ```xml <RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:...
本资源"安卓自定义控件相关-android自定义评分控件ratingbar.rar"提供了关于如何在Android平台上实现自定义评分条(RatingBar)的示例。下面将详细阐述自定义评分控件的相关知识点。 1. **自定义View的基础** 在...
在Android开发中, RatingBar 是一个内置的UI组件,用于显示评分或评级,通常用于电影、应用或商品评价。然而,系统默认的RatingBar样式可能无法满足所有设计需求,这时就需要进行自定义来达到特定的视觉效果。这篇...
总结,Android评分组件(RatingBar)是应用程序中不可或缺的交互元素,它提供了直观的用户反馈方式。理解其基本使用和自定义方法对于提升应用的用户体验至关重要。通过不断实践和学习,开发者可以打造出更加符合产品...
在Android开发中,RatingBar控件是一个常用的UI组件,它用于显示用户对某项内容的评分,通常表现为星星图标。然而,系统默认的RatingBar在实际应用中可能会遇到一些问题,比如在不同分辨率的设备上显示不一致,或者...
在Android开发中,RatingBar是一个常用的UI组件,用于展示用户评价或者进行评分操作。这个"androidRatingBar_android_"项目提供了一种实现彩色投票条的方法,它不仅具备基本的RatingBar功能,还通过自定义视觉效果...
在Android开发中, RatingBar通常用于用户评价,它呈现为一系列可选的星星。然而,这里我们将探讨如何创造性地利用...这种创新使用Android组件的方式有助于提高应用的用户体验,也是Android开发中的一种良好实践。
在Android开发中,RatingBar是一种常用的UI组件,用于展示用户评价或者进度的星星数量。默认情况下,RatingBar的样式和颜色可能无法满足所有设计需求,因此开发者常常需要对其进行自定义,以达到更个性化的视觉效果...
在Android开发中,RatingBar是一种常用的用户界面组件,它允许用户进行评分选择,通常表现为星形图标。本篇文章将深入探讨如何自定义RatingBar,以满足特定的设计需求和交互效果。 首先,我们要了解RatingBar的基本...
在Android开发中,RatingBar控件是一个非常实用的组件,常用于用户对应用、内容或服务进行评级。本文将深入解析RatingBar的使用,并通过实例展示如何在代码中配置和操作这个控件。 首先,RatingBar的基础使用是在...
在Android开发中,RecyclerView是一个非常重要的组件,它用于展示可滚动的列表数据,而RatingBar则是用户界面中用于评分或反馈满意度的一个控件。在本项目中,我们探讨的是如何在RecyclerView中集成并实现RatingBar...
在Android开发中,RatingBar是一种常用的UI组件,它允许用户以星星的形式给出评分。系统默认的RatingBar样式可能无法满足所有设计需求,因此开发者经常需要对其进行自定义以达到更美观的效果。本文将深入探讨如何...
在Android开发中,RatingBar是一个非常实用的组件,它用于显示用户对某个内容的评分或者让用户选择一个评分等级。RatingBar通常表现为一组星星,用户可以通过点击或滑动来选择一个评分,从零星到满星。在本教程中,...