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

简介: 拖动条组件(SeekBar)   星级评分条(RatingBar) 完整代码 layout java文件 1 package lianxi; 2 3 import com.

拖动条组件(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 }

效果图

     

相关文章
|
Android开发
Android之RatingBar实现评论星级效果
Android之RatingBar实现评论星级效果
92 0
Android之RatingBar实现评论星级效果
|
Android开发
Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件
原文:Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件 大家都玩QQ空间客户端,对于每一个说说,我们都可以评论,那么,对于某一条评论: 白雪公主 回复 小矮人 : 你们好啊~ 我们来分析一下: 1、QQ空间允许我们 点击 回复人和被回复人...
972 0
|
Android开发
Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件
大家都玩QQ空间客户端,对于每一个说说,我们都可以评论,那么,对于某一条评论: 白雪公主 回复 小矮人 : 你们好啊~ 我们来分析一下: 1、QQ空间允许我们 点击 回复人和被回复人的名字就可以进入对于用户的个人主页(即点击文字“白雪公主”/“小矮人”,就可以进入到这俩用户相应个人...
1082 0
|
Linux Android开发
【转载】 安卓在线 11年02月09日 [评论6条]
var fo = new SWFObject("http://pic.zol-img.com.cn/201105/qq40532rj210c_0519.
720 0
|
25天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
101 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
2天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
20 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
16天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。