阅读《Android 从入门到精通》(19)——评分条
来源:互联网 发布:分布式架构 java 编辑:程序博客网 时间:2024/06/07 03:54
评分条(RatingBar)
java.lang.Object;
android.view.View;
android.widget.ProgressBar;
android.widget.AbsSeekBar;
android.widget.RatingBar;
RatingBar 类方法
RatingBar 示例
完整工程:http://download.csdn.net/detail/sweetloveft/9424271
下述程序,学习的是 Android 最后一个官方原有控件了,此后我们要学习布局,等整个 Android 应用学完之后,我们就要开始思考:为什么是是这样?如何设计自己的控件?自绘控件、派生控件、组合控件,以及前三者融合起来的控件?如果在学习控件的组成上自己实现 OO 思想?我们需要在整个 Android 应用学完后结合 DuiLib 去反思这些设计,制作自己的设计,一点点的深入底层!
1.MainActivity.java
package com.sweetlover.activity;import com.sweetlover.ratingbar.R;import android.app.Activity;import android.os.Bundle;import android.widget.RatingBar;import android.widget.RatingBar.OnRatingBarChangeListener;import android.widget.TextView;public class MainActivity extends Activity {private TextView[] textView = new TextView[3];private RatingBar[] ratingBar = new RatingBar[3];@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView[0] = (TextView) findViewById(R.id.textView1);textView[1] = (TextView) findViewById(R.id.textView2);textView[2] = (TextView) findViewById(R.id.textView3);ratingBar[0] = (RatingBar) findViewById(R.id.ratingBar1);ratingBar[1] = (RatingBar) findViewById(R.id.ratingBar2);ratingBar[2] = (RatingBar) findViewById(R.id.ratingBar3);ratingBar[0].setOnRatingBarChangeListener(new OnRatingBarChangeListener() {@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {// TODO Auto-generated method stubint numStars = ratingBar.getNumStars();float curNum = rating;textView[0].setText("总共 " + numStars + " 个星:" + curNum);}});ratingBar[1].setOnRatingBarChangeListener(new OnRatingBarChangeListener() {@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {// TODO Auto-generated method stubint numStars = ratingBar.getNumStars();float curNum = rating;textView[1].setText("<span style="font-family: Arial, Helvetica, sans-serif;">总共</span> " + numStars + " 个星:" + curNum);}});ratingBar[2].setOnRatingBarChangeListener(new OnRatingBarChangeListener() {@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {// TODO Auto-generated method stubint numStars = ratingBar.getNumStars();float curNum = rating;textView[2].setText("总共 " + numStars + " 个星:" + curNum);}});}}
2.activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="30dp" > <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="" android:textAppearance="?android:attr/textAppearanceMedium" /> <RatingBar android:id="@+id/ratingBar2" style="android:ratingBarStyleIndicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="" android:textAppearance="?android:attr/textAppearanceMedium" /> <RatingBar android:id="@+id/ratingBar3" style="android:ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="" android:textAppearance="?android:attr/textAppearanceMedium" /></LinearLayout>
3.AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sweetlover.ratingbardemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.sweetlover.activity.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application></manifest>
0 0
- 阅读《Android 从入门到精通》(19)——评分条
- 阅读《Android 从入门到精通》(18)——拖动条
- 阅读《Android 从入门到精通》(1)——了解 Android 开发
- 阅读《Android 从入门到精通》(2)——熟悉开发环境
- 阅读《Android 从入门到精通》(3)——Activity 与界面
- 阅读《Android 从入门到精通》(4)——人机界面常用组件概述
- 阅读《Android 从入门到精通》(5)——文本框视图
- 阅读《Android 从入门到精通》(?)——View 和 ViewGroup
- 阅读《Android 从入门到精通》(6)——按钮
- 阅读《Android 从入门到精通》(7)——图片按钮
- 阅读《Android 从入门到精通》(8)——编辑框
- 阅读《Android 从入门到精通》(9)——多项选择
- 阅读《Android 从入门到精通》(10)——单项选择
- 阅读《Android 从入门到精通》(11)——下拉列表
- 阅读《Android 从入门到精通》(12)——自动完成文本框
- 阅读《Android 从入门到精通》(13)——日期选择器
- 阅读《Android 从入门到精通》(14)——时间选择器
- 阅读《Android 从入门到精通》(15)——数字时钟
- win10 下运行 matlab7.0 出错的问题解决办法
- 如何写出正确的系统返回键监听
- ------------------------------------------使用聚集索引和非聚集索引的区别------------------------------------
- navicat for mysql 怎么连接远程数据库服务器
- Linux软连接和硬链接
- 阅读《Android 从入门到精通》(19)——评分条
- 在云上搭建大规模实时数据流处理系统
- java 中double的精度问题
- Nginx环境搭建步骤
- C获取未知数组元素个数(win32)
- go语言struct
- Java线程1
- C#中将DataTable中数据导出到csv文件中
- QT create快捷键