关于安卓开发实现拖动条和星级评论

拖动条组件(SeekBar)

<SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"      //设置最大值
        android:progress="0"   //设置初值
        android:padding="10px"/>

星级评分条(RatingBar)

<RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5" //设置几星级
        android:rating="3.5"    //设置初始星级
        android:isIndicator="false"  //设置允许用户改变星级
         />

完整代码

layout

<?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" >

    <TextView
        android:id="@+id/now_num"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="当前值:0"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="0"
        android:padding="10px"/>

    <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="3.5"
        android:isIndicator="false"
         />

    <Button
        android:id="@+id/button_star"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="评分" />

</LinearLayout>

java文件

 1 package lianxi;
 2
 3 import com.example.jichu_lianxi.R;
 4
 5 import android.app.Activity;
 6 import android.os.Bundle;
 7 import android.util.Log;
 8 import android.view.View;
 9 import android.view.View.OnClickListener;
10 import android.widget.Button;
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 extends Activity{
18     private SeekBar seekbar;     //拖动条
19     private TextView text;       //显示拖动条当前值的文本框
20     private Button button_star;  //评分按钮
21     private RatingBar ratingbar;
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         // TODO Auto-generated method stub
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.seekbar_or_ratingbar);
27
28         seekbar = (SeekBar) findViewById(R.id.seekBar1);
29         text = (TextView) findViewById(R.id.now_num);
30         button_star = (Button) findViewById(R.id.button_star);
31         ratingbar = (RatingBar) findViewById(R.id.ratingBar1);
32         //拖动条的响应事件
33         seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
34
35             //结束拖动时的响应事件
36             @Override
37             public void onStopTrackingTouch(SeekBar seekBar) {
38                 // TODO Auto-generated method stub
39                 Toast.makeText(SeekBar_Or_RatingBar.this, "结束滑动", Toast.LENGTH_SHORT).show();
40
41             }
42             //开始拖动时的响应事件
43             @Override
44             public void onStartTrackingTouch(SeekBar seekBar) {
45                 // TODO Auto-generated method stub
46                 Toast.makeText(SeekBar_Or_RatingBar.this, "开始滑动", Toast.LENGTH_SHORT).show();
47             }
48             //拖动过程中的响应事件
49             @Override
50             public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
51                 // TODO Auto-generated method stub
52                 text.setText("当前值:"+progress);
53             }
54         });
55         //评分按钮的响应事件
56         button_star.setOnClickListener(new OnClickListener() {
57
58             @Override
59             public void onClick(View v) {
60                 // TODO Auto-generated method stub
61                 int result = ratingbar.getProgress(); //获取进度
62                 float rating = ratingbar.getRating(); //获取等级
63                 float step = ratingbar.getStepSize(); //获取每次最少要改变多少星级
64                 Toast.makeText(SeekBar_Or_RatingBar.this, "你得到了"+rating+"颗星", Toast.LENGTH_SHORT).show();
65
66
67             }
68         });
69     }
70
71 }

效果图

     

时间: 2024-11-05 11:36:13

关于安卓开发实现拖动条和星级评论的相关文章

【Android】下拉列表、拖动条、星级评分条与标签文本的触摸事件

下拉列表.拖动条与星级评分条都是Android中的一些基本组件. 写一个小小的程序,来说明其用法. 如下图: 当下拉列表有值选定之后,则弹出相应的提示信息,哪个值被选择.星际评分条也一样,获取用户选择的星数. 标签文本被触摸则显示其被触摸. 滑动条,在拖动的时候,则在标签文本显示其值.因为,如果用弹出消息显示其滑动值,很不顺畅. 首先,把res\values\strings.xml,修改成如下代码: <?xml version="1.0" encoding="utf-8

关于安卓开发实现进度条对话框

进度条对话框(ProgressDialog)分为圆形和横向两种类型. 方法: onCreatDialog(int id);创建一个对话框,只有在第一次创建该ID标识的Dialog时执行 onCreatDialog(int id,Bundle args);同上,带参数 onPrepareDialog(int id,Dialog dialog);在onCreateDialog之后,每次在对话框被显示之前都执行 onPrepareDialog(int id,Dialog dialog,Bundle a

Android View 之进度条+拖动条+星级评论条....

PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条...       进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此为之设置一个进度条使应用程序的运行状态更好的反馈给客户...这也就是进度条的作用...因此一般的应用程序都会加入进度条...进度条分为圆形进度条和线性的进度条...目的都是一样的,只是展示的效果是不同的...用代码讲解一下... <LinearLayout xmlns:android="htt

UI组件之ProgressBar及其子类(二)SeekBar拖动条和RatingBar星级评分条的使用

拖动条采用拖动滑块的位置来表示数值 SeekBar的常用xml属性值: 重要的android:thumb制定一个Drawable对象,改变滑块外观 通过滑块来改变图片的透明度: main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi

[安卓] 5、SeekBar拖动条

越来越发现这些控件用法大同小异了,这里注意几个函数:seekBar.setSecondaryProgress(0);设置初始进度为0,总共为0~99,对其监听用setOnSeekBarChangeListener. 1 public class MainActivity extends Activity { 2 private SeekBar seekBar; 3 private TextView tv; 4 5 @Override 6 public void onCreate(Bundle s

步步为营_Android开发课[27]_用户界面之SeekBar(拖动条)

Focus on technology, enjoy life!-- QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305 主题:用户界面之SeekBar(拖动条) - SeekBar拖动条(实例): activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml

安卓开发中非常炫的效果集合

文章转自:一点点征服的 http://www.cnblogs.com/ldq2016/p/5217590.html 安卓开发中非常炫的效果集合 这几天开发的时候,想做一些好看而且酷炫的特效,于是又开始从网上收集各种特效资源.下面给大家一些我喜欢的把,附代码,喜欢的看源代码,然后加到自己项目去把!! 一个开源项目网站有很多炫酷效果http://itlanbao.com/codes.aspx#1,0 所有效果Dome下载地址:https://github.com/20994842/A-collect

安卓开发中的重力感应传感器

安卓开发中拥有多种传感器,google提供了11种传感器供应用层使用:加速度.磁力.方向.陀螺仪.光线.压力(返回当前压强).温度.接近(检测物体与手机的距离).重力.线性加速度和旋转矢量.     在使用传感器之前,需要将工程中的类接口到SensorEventListener,接口后会有两个重载方法来进行监听,并取得感应检测Sensor状态.其中onAccuracyChanged()方法在感应检测到Sensor的精密度有变化时被调用,onSensorChanged()方法是在感应检测到Sens

安卓开发_数据存储技术_sqlite

一.SQLite SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了.SQLite已经被多种软件和产品使用 二.SQLite特性 1 2 1.轻量级 3 SQLite和C\S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器.使用SQLite一般只需要带上它的一个动态库,就可以享受它的全部功能.而且那个动态库的尺寸也相当小. 4 2.独立性 5 SQLite数据库的核心引擎本身