Android高级界面组件之拖动条和评星条的功能实现

一      拖动条

安卓手机音量设置都是给出一个拖动条,使得用户能够拖动滑块进行设置,这里我们介绍拖动条。

安卓拖动条控件是继承自ProgressBar控件,所以它能够支持ProgressBar的xml属性。但是他有自己的独特属性:

android:max       设置最大的拖动两

android:progress     设置初始化进度

android:thumb        设置滑块图形

事件监听方面,拖动条需要注意:我们不在监听用户的点击操作,而是监听滑块的改变,下面用一个实例简单的操作一下拖动条。

实例:界面上给出一个拖动条和文本,滑动滑块文本动态显示

1.新建工程,在布局文件中加入一个文本和拖动条。这里我设置了当前进度值和滑块图形

<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <TextView
   android:id="@+id/textView1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentTop="true"
   android:layout_centerHorizontal="true"
   android:layout_marginTop="112dp"
   android:text="当前进度:0" />
  <SeekBar
   android:id="@+id/seekBar1"
   android:thumb="@drawable/penguin"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_alignParentLeft="true"
   android:layout_centerVertical="true" />
 </RelativeLayout>

2.代码中获取文本和拖动条,给拖动条加监听器。监听器内部控制了文本的动态显示。监听有三个方法,注意:改写一下开始和结束滑动的方法,另外一个和是否是用户滑动有关,我们且不去管它

 tv = (TextView)findViewById(R.id.textView1);
  sb = (SeekBar)findViewById(R.id.seekBar1);
  sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
   @Override
   public void onStopTrackingTouch(SeekBar s) {
    final int p = s.getProgress();
    tv.setText("当前进度:" + p);
   }//结束滑动
   @Override
   public void onStartTrackingTouch(SeekBar s) {
    tv.setText("正在拖动!");
   }//开始滑动
   @Override
   public void onProgressChanged(SeekBar s, int arg1, boolean arg2) {
   }
  });

运行代码,滑动滑块,能够看到文本根据滑动动态的显示内容。

二     评星条

很多视屏软件和是应用市场软件都有评星的功能,这是的评分应用场景是:拖动评星条,之后点击某个提交按钮完成评分。这里我们简单看一下评星条的属性,之后模拟一个类似的评星功能。

android:isIndicator       表明是指示器,也就是能不能被用户评分,值为"true"不能被改变

android:numStars        评星条的星星总数

android:rating              评星条的默认星级

android:stepSize          评星一次变化的分量,默认状态下为0.5,用户一次拖动改变0.5的星级

实例:做一个简单的评分界面

1.新建工程,布局中加入显示文本,评星条,提交按钮

 <RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <RatingBar
   android:id="@+id/ratingBar1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentTop="true"
   android:layout_centerHorizontal="true"
   android:layout_marginTop="184dp" />
  <TextView
   android:id="@+id/textView1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignBottom="@+id/ratingBar1"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="100dp"
   android:text="评分:" />
  <Button
   android:id="@+id/button1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_below="@+id/ratingBar1"
   android:layout_centerHorizontal="true"
   android:text="提交" />
 </RelativeLayout>

2.在主Activity里面实例化显示文本,评星条,按钮

 tv = (TextView)findViewById(R.id.textView1);
  asb = (RatingBar)findViewById(R.id.ratingBar1);
  b = (Button)findViewById(R.id.button1);

3.给按钮加监听事件,获取评星条的评分,显示到文本中去。评星的获取通过getRating()方法

 b.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    final float r;
    r = asb.getRating();
    tv.setText("评分"+ r +"星");
   }
  });

运行代码,效果如下:

以上所述是小编给大家介绍的Android高级界面组件之拖动条和评星条的功能实现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Android拖动条的实现代码

    本文实例为大家分享了Android拖动条的具体代码,供大家参考,具体内容如下 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="

  • Android中SeekBar拖动条控件使用方法详解

    SeekBar拖动条控件使用方法,具体内容如下 一.简介 1.  二.SeekBar拖动条控件使用方法 1.创建SeekBar控件 <SeekBar android:id="@+id/SeekBar1" android:layout_width="match_parent" android:layout_height="wrap_content" android:progress="30" /> 2.添加setOn

  • Android开发之拖动条和评分组件用法分析

    本文实例讲述了Android开发之拖动条和评分组件用法.分享给大家供大家参考,具体如下: 今天闲着没事做就拿出了Android书接着学习,android就是组件多有时候还会弄混淆了.这次介绍的是拖动条和评分组件,这2个组件也是超级简单的 下面就一个一个的来研究. 1. 拖动条,就类似android手机上调节音量那个,该组件和对话框不同的是用户可以操作.该组件的xml表现形式如下 <SeekBar android:id="@+id/seek" android:layout_marg

  • Android高级界面组件之拖动条和评星条的功能实现

    一      拖动条 安卓手机音量设置都是给出一个拖动条,使得用户能够拖动滑块进行设置,这里我们介绍拖动条. 安卓拖动条控件是继承自ProgressBar控件,所以它能够支持ProgressBar的xml属性.但是他有自己的独特属性: android:max       设置最大的拖动两 android:progress     设置初始化进度 android:thumb        设置滑块图形 事件监听方面,拖动条需要注意:我们不在监听用户的点击操作,而是监听滑块的改变,下面用一个实例简单

  • Android仿淘宝商品拖动查看详情及标题栏渐变功能

    绪论 最近一直比较忙,也没抽出时间来写博客,也不得不说是自己犯了懒癌,人要是一懒就什么事都不想做了,如果不能坚持下来的话,那么估计就废了,��.最近自己攒了好多东西,接下来的时间我会慢慢都分享出来的.好了废话不多说了,下面我们开始正题: 今天要分享的是淘宝的详情页,之前在淘宝上买东西的时候看到淘宝的详情页效果比较不错,所以今天就来仿一下它的效果吧,可能没有淘宝的好,希望见谅啊. 先上效果图: 这是淘宝的: 我自己做的: 怎么样效果还差不多吧?GIF图效果看的不太清楚,见谅. 下面我们来看看怎么实

  • Android基于widget组件实现物体移动/控件拖动功能示例

    本文实例讲述了Android基于widget组件实现物体移动/控件拖动功能.分享给大家供大家参考,具体如下: package com.sky; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickLi

  • Android开发自定义双向SeekBar拖动条控件

    目录 目标:双向拖动的自定义View 实现步骤 自定义属性获取 确定自定义view尺寸 绘制相关的内容部分 滑动事件处理 目标:双向拖动的自定义View 国际惯例先预览后实现 我们要实现的就是一个段位样式的拖动条,用来做筛选条件用的,细心的朋友可能会发现微信设置里面有个一个通用字体的设置,拖动然后改变字体大小; 这个相对比微信那个的自定义view算是一个扩展,因为我们是双向滑动,这个多考虑的一点就是手指拖动的是哪一个滑动块! 我们先看下GIF预览,然后我们今天就一步步实现这个小玩意… 实现步骤

  • Android高级UI特效仿直播点赞动画效果

    本文给大家分享高级UI特效仿直播点赞效果-一个优美炫酷的点赞动画,具体实现代码大家参考本文. 效果图如下: 攻克难点: 心形图片的路径等走向 心形图片的控制范围 部分代码如下: 通过AbstractPathAnimator定义飘心动画控制器 @Override public void start(final View child, final ViewGroup parent) { parent.addView(child, new ViewGroup.LayoutParams(mConfig.

  • 实例讲解Android中ContentProvider组件的使用方法

    ContentProvider基本使用 为了在应用程序之间交换数据,android提供了ContentProvider,ContentProvider是不同应用程序之间进行数据交换的标准API,当一个应用程序需要把自己的数据暴露给其他程序使用时,该应用程序就可以通过提供ContentPRovider来实现,其他应用程序就可以通过ContentResolver来操作ContentProvider暴露的数据. 实现ContentProvider的步骤: 1)编写一个类,继承ContentProvid

  • Android高级开发之性能优化典范

    本章介绍android高级开发中,对于性能方面的处理.主要包括电量,视图,内存三个性能方面的知识点. 1.视图性能 (1)Overdraw简介 Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布 局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,表现为应用卡顿,所以对重叠不可见元素的重复绘制会产生额外的开销,需要尽量减

  • Android Widget 桌面组件开发介绍

    Android widget 桌面组件开发 Widget是Android1.5版所引进的特性之一.Widget,可让用户在主屏幕界面及时了解程序显示的重要信息.标准的Android系统已包含几个Widget的示例,如模拟时钟,音乐播放器等. 一.AppWidget 框架类 1.AppWidgetProvider :继承自 BroadcastRecevier , 在AppWidget 应用 update.enable.disable 和 delete 时接收通知.其中,onUpdate.onRec

  • Android编程实现显示在标题上的进度条功能【附源码下载】

    本文实例讲述了Android编程实现显示在标题上的进度条功能.分享给大家供大家参考,具体如下: 今天我们来学习一下Android中显示在Activity标题上的进度条.在这个例子当中我们还能够学习到很多关于AsyncTask的知识. (1)准备用于显示到界面上的四张图片img01,img02,img03,img04 (2)在Activity的布局文件activity_main.xml中只定义一个线性布局LinearLayout,并为其设置一个id,代码如下: <LinearLayout xmln

  • Android实现进度条(ProgressBar)的功能与用法

    进度条(ProgressBar)的功能与用法,供大家参考,具体内容如下 进度条是UI界面中一种实用的UI组件,用于显示一个耗时操作显示出来的百分比,进度条可以动态的显示进度,避免是用户觉得系统长时间未反应,提高用户的体验. 下面程序简单示范了进度条的用法,界面布局文件如下: 在layout下的activity_main中: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr

随机推荐