7.Android之评分条RatingBar和拖动条SeekBar学习
2015-12-24 15:13
260 查看
评分条RatingBar和拖动条SeekBar很常见,今天来学习下。
(1)RatingBar评分条
如图:
RatingBar监听事件:public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)
(2)拖动他SeekBar使用
首先从工具中拖入一个SeekBar和两个TextView,如图:
代码如下:
然后我们实现OnSeekBarChangeListener接口:public class MainActivity extends Activity implements OnSeekBarChangeListener{...} ,此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)
完整代码如下:
运行效果:
(1)RatingBar评分条
如图:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.ratingbar.MainActivity" > <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="22dp" android:layout_marginTop="25dp" /> </RelativeLayout>
RatingBar监听事件:public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)
(2)拖动他SeekBar使用
首先从工具中拖入一个SeekBar和两个TextView,如图:
代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.ratingbar.MainActivity" > <SeekBar android:id="@+id/seekBar1" android:max="100" android:progress="50" android:secondaryProgress="75" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="35dp" /> <TextView android:id="@+id/info1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/seekBar1" android:layout_below="@+id/seekBar1" android:layout_marginTop="24dp"/> <TextView android:id="@+id/info2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/info1" android:layout_below="@+id/info1" android:layout_marginTop="32dp"/> </RelativeLayout>
然后我们实现OnSeekBarChangeListener接口:public class MainActivity extends Activity implements OnSeekBarChangeListener{...} ,此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)
完整代码如下:
package com.example.ratingbar; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; //实现OnSeekBarChangeListener接口 public class MainActivity extends Activity implements OnSeekBarChangeListener { private SeekBar sbVolumer=null; private TextView info1=null; private TextView info2=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sbVolumer = (SeekBar) findViewById(R.id.seekBar1); sbVolumer.setOnSeekBarChangeListener(this); info1 = (TextView) findViewById(R.id.info1); info2 = (TextView) findViewById(R.id.info2); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { info1.setText("当前值: " + progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { info2.setText("正在改变当前值"); } @Override public void onStopTrackingTouch(SeekBar seekBar) { info2.setText("停止拖动"); } }
运行效果:
相关文章推荐
- Android开发之完成登陆界面的数据保存回显操作实例
- Android屏幕适配全攻略(最权威的官方适配指导)
- 【android】TabLayout文字闪烁问题
- 使用AndroidStudio分析和解决ImageLoader引起内存泄露问题
- Android蓝牙打印二维码打印外卖单打印
- 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏
- android 第三方模拟器 genymotion安装问题修复
- 转: Android Studio你不知道的调试技巧
- Android开发笔记(二十六)Java的容器类
- Android系统基本情况介绍
- 安卓官方ViewPager与android.support.design.widget.TabLayout双向交互联动切换 。
- Android Studio 获取证书指纹(SHA1)
- Android之菜单选项子菜单submenu(二)
- Android Studio导入github中的项目
- Android中在Activity中加入其它的XML布局文件
- android开源图表框架HelloChart的使用 (hellocharts-library-1.5.8.jar)
- Android如何监听蓝牙耳机和有线耳机的插拔
- ProgressBar简单使用(1)
- 安卓屏幕--Android屏幕适配经验谈
- error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.