ProgressBar、RatingBar和Spinner控件
1、ProgressBar、SeekBar与RatingBar控件
ProgressBar控件,也就是我们通常的进度条控件,可以显示加载的进度等。SeekBar控件,滑块控件,可以根据用户的需要动态为赋值。本例子就是拖动SeekBar,让进度条实时显示拖动的进度。RatingBar控件,星条控件,我们经常见到的打分控件,五颗星星。下面是main.xml页面的代码。我们声明了几个控件。
<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=".MainActivity" > <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> <ProgressBar
android:id="@+id/progressBar1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="68dp"
android:background="@drawable/color" /> <SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/progressBar1"
android:layout_marginTop="48dp" /> <RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/seekBar1"
android:layout_below="@+id/seekBar1"
android:layout_marginTop="68dp" /> <ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/ratingBar1" /> </RelativeLayout>
控件生成
这里我们只需要捕捉seekbar的拖动事件以及RatingBar控件的事件。SeekBar的事件是setOnSeekBarChangeListener,而Ratingbar的事件为setOnRatingBarChangeListener。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SeekBar seek=(SeekBar)findViewById(R.id.seekBar1);
final ProgressBar process=(ProgressBar)findViewById(R.id.progressBar2);
final RatingBar rating=(RatingBar)findViewById(R.id.ratingBar1);
rating.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
// TODO 自动生成的方法存根
float rate=ratingBar.getRating();
process.setProgress((int)(rate/5*100));
}
}); seek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO 自动生成的方法存根
process.setProgress(seek.getProgress());
} @Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO 自动生成的方法存根 } @Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO 自动生成的方法存根 }
});
}
事件监听
这样我们就对进度条的控件有了初步了解。
2.Spinner控件
Spinner控件,下拉列表控件,和ComBox控件有点相似,使用的时候,也需要为他制定item。通过在String.xml
文件中添加新的字符串资源。在后台通过适配器将资源绑定给spinner控件。
BaseAdapter baseA=new BaseAdapter(){ @Override
public int getCount() {
// TODO 自动生成的方法存根
return strid.length;
} @Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return null;
} @Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return 0;
} @Override
public View getView(int position, View convertView,
ViewGroup parent) {
// TODO 自动生成的方法存根
LinearLayout li=new LinearLayout(MainActivity.this);
TextView text1=new TextView(MainActivity.this);
text1.setText(" "+getResources().getText(strid[position]));
text1.setTextSize(24);
li.addView(text1);
return li;
}};
spinner.setAdapter(baseA);
适配器绑定
ProgressBar、RatingBar和Spinner控件的更多相关文章
- Spinner控件
首先在XML文件中声明一个Spinner控件: <Spinner android:id="@+id/spinnerId" android:layout_width=" ...
- 支持多选的Spinner控件
概述 当我们要做单选功能的时候,我们会很自然的想到Spinner,它可以在一个集合中选择一个我们需要的值.但是有时候我们需要在一个集合中选择多个值,这个时候Spinner就不能满足需求.此时可以根据自 ...
- Android spinner控件
spinner控件是Android中下拉控件,现在介绍它两种用法.第一种,从资源文件中获取下拉值:第二种,从代码中获取下拉值. 第一种,首先要在资源文件中把值写好: <?xml version= ...
- 大约Android PopupWindow有用Spinner控件点击APP Crash案例整理!
场景异常,如下面: android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.V ...
- android 学习 Spinner控件的使用
今晚看了下spinner控件的使用,结合博客大神的教程,一个小demo 一,SpinnerActivity private Spinner spinner; private ArrayAdapter& ...
- Spinner控件详解
Spinner控件详解 效果图 修改Spinner样式 在介绍之前,先看一下系统原生的样式 6.x & 5.x系统样式 4.x系统样式 官方文档 XML属性 方法 描述 android:dro ...
- android Spinner控件详解
Spinner提供了从一个数据集合中快速选择一项值的办法.默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner ...
- Android——spinner控件实现读取xml资源,省、市两级互动
(1)首先在res文件夹下面的values中创建一个省市arrays.xml文件夹,如下 <?xml version="1.0" encoding="utf-8&q ...
- Android开发(21)--有关Spinner控件的使用说明
下拉列表 Spinner,Spinner是一个每次只能选择所有项的一个项的控件.它的项来自于与之相关联的适配器中. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下 ...
随机推荐
- mime大全收集
{"ai", "application/postscript"}, {"aif", "audio/x-aiff" ...
- 那么温暖http合约,入门。
简介 年提出.经过几年的使用与发展,得到不断地完好和扩展.眼下在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,并且HTTP-NG(Next Generation ...
- 使用zeranoe的自动化脚本mingw-w64-build-3.6.4在ubutun14.04_64bit上交叉编译ffmpeg 2.5
编译期间,碰到的两个大问题,是环境变量设置问题. 先列出执行脚本是碰到的两个问题,后面给出解决方法并记录执行的命令步骤. 问题1: 编译binutils 2.5出错 ----------------- ...
- 如何改变word修订模型下的视图
在Word中执行与Find.Range等相关的操作时,需对修订模式下的文档进行特殊处理. 核心知识点 Word中的 RevisionsView 属性只有两种设置:显示标记的最终状态(Final Sho ...
- 改变页面选择文字颜色和背景颜色----selection伪元素
div::selection{color:#fff;background: #E83E84;text-shadow:none}
- Javascript进阶篇——(数组)笔记整理
什么是数组数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. <script type="text/javascript"& ...
- 未找到具有固定名称“System.Data.SQLite”的 ADO.NET 提供程序的实体框架提供程序
用户代码未处理 System.InvalidOperationException HResult=-2146233079 Message=未找到具有固定名称"System.Data. ...
- 读取webconfig里面的appSetting和connectionString
<appSettings> <add key="SiteURL" value="http://moss2007:7000" /> < ...
- Spring-----5、Spring容器中的bean
转载自:http://blog.csdn.net/hekewangzi/article/details/45645831
- D - Counterfeit Dollar(第二季水)
Description Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are t ...