zoukankan      html  css  js  c++  java
  • 关于安卓开发实现拖动条和星级评论

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

    效果图

         

    作者:听着music睡

    出处:http://www.cnblogs.com/xqxacm/

    Android交流群:38197636

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    usb_submit_urb
    xilinx uboot网卡驱动分析
    kernel: swapper: page allocation failure. order:1, mode:0x20
    Linux格式化硬盘 常用命令小记
    spring3:对JDBC的支持 之 JDBC模板类
    spring3: AOP 之代理机制
    spring3: AOP 之切面实例化模型 ——跟我学spring3
    spring3: AOP 之 通知顺序
    spring3: AOP 之 通知参数
    spring3: 切面及通知实例 Aspectj的aop
  • 原文地址:https://www.cnblogs.com/xqxacm/p/4148112.html
Copyright © 2011-2022 走看看