常用控件

5、progressbar
  进度条,比较常用的组件,在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。一般有圆形和条形两种;
默认进度条是圆形的
小圆型进度条:
style="?android:attr/progressBarStyleSmall"

大圆形进度条:
style="?android:attr/progressBarStyleLarge"

条形进度条:
style="?android:attr/progressBarStyleHorizontal"

android:max="100" --最大值
android:progress="50" --初始值
android:secondaryProgress="60" --次进度条值

常用方法:

getMax():返回这个进度条的范围的上限

    getProgress():返回进度

    getSecondaryProgress():返回次要进度

    incrementProgressBy(int diff):指定增加的进度

    isIndeterminate():指示进度条是否在不确定模式下

    setVisibility(int v):设置该进度条是否可视

onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件

简单小例子:

新开个线程,让条形进度条从最小增到最大,再减到最小

 public class MainActivity extends Activity implements Runnable{

     private Thread td;
private ProgressBar pb;
private boolean stateChange; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); pb = (ProgressBar)findViewById(R.id.pd);
td = new Thread(this); td.start();
} @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 void run() {
// TODO Auto-generated method stub
while(true) {
int current = pb.getProgress();
int max = pb.getMax();
int securrent = pb.getSecondaryProgress(); if (stateChange == false) {
if(current >= max) {
stateChange = true;
}else {
pb.setProgress(current+1);
pb.setSecondaryProgress(current+1);
}
}else {
if(current <= 0) {
stateChange = false;
}else {
pb.setProgress(current-1);
pb.setSecondaryProgress(current-1);
}
} try {
td.sleep(50);
} catch (Exception e) {
e.printStackTrace();
}
}
} }

6、seekBar
  拖动条,见到的较多,如地图上,放大缩小,音乐播放时声音的放大缩小等

监听事件:

 @Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
tv.setText("拖动完成...");
} @Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
tv.setText("拖动中...");
} @Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
tv.setText("当前拖动条值为:"+progress);
}

类似长型的进度条,只是可以手动拖到,
也有
android:max="100" --最大值
android:progress="50" --初始值
android:secondaryProgress="60" --次进度条值

关于滑块还有一种较常用的是RatingBar,星级滑块,一般用于评定等级。

用法和上面大同小异,不再多说。

android学习日记03--常用控件progressbar/seekbar的更多相关文章

  1. android学习日记03--常用控件button/imagebutton

    常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

  2. android学习日记03--常用控件Dialog

    常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...

  3. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  4. android学习日记03--常用控件ListView

    常用控件 8.ListView 列表视图,比如游戏的排行榜.列表数据可以根据屏幕大小自适应 列表的显示需要三个元素: a.ListVeiw:用来展示列表的View. b.适配器:用来把数据映射到Lis ...

  5. android学习日记03--常用控件tabSpec/tabHost

    常用控件7.TabSpec和TabHost 比较常用的控件,感觉手机QQ的整体布局就是这个,只不过tab放在底部而已.TabSpec相当于浏览器的分页,而TabHost就相当于分页的集合TabSpec ...

  6. Android学习笔记_30_常用控件使用

    一.状态栏通知(Notification): 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息.发送消息的代码如下: public void sendNotice(View v){ int ic ...

  7. Android布局属性与常用控件

    一.Android常用布局属性 1. LinearLayout的特有属性 android:orientation:设置布局排列方式   android:layout_weight:设置所占布局的权重  ...

  8. Android SDK提供的常用控件Widget “常用控件”“Android原生”

    Android提供一个标准的视图工具箱来帮助创建简单的UI界面.通过使用这些控件(必要时,可以对这些控件进行修改). 创建一个简单的.xml文件,从预览窗口可以看到Android SDK提供的原生控件 ...

  9. Android开发UI之常用控件的使用

    1.日期选择控件 DatePickerDialog 代码: btnChooseDate=(Button) findViewById(R.id.btnChooseDate); btnChooseDate ...

随机推荐

  1. ajax withCredentials在firefox下问题的解释

    1,起因: 跨域的问题一般有两种解决方式比较常用,一是使用jsonp,二是服务端配置cors策略.至于jsonp这里不再赘述,本文主要解释一下cors解决跨域产生的问题 2,cors跨域产生的问题 j ...

  2. Azure HDInsight HBase DR解决方案

    Sun wei  Sat, Feb 28 2015 3:07 AM Apache HBase是目前非常流行的NoSQL数据库,通过HDFS+Zookeep+Master+Region Server的架 ...

  3. java vm args

    这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的.第一次出现这样的的问题以后,引发了其他的问题.在网上一查可能是JAVA的堆栈 ...

  4. Hibernate4.x之映射关系--单向一对多

    在领域模型中,类与类之间最普遍的关系就是关联关系在UML中,关联是有方向的 以Customer和Order为例:一个用户能发出多个订单,而一个订单只能属于一个客户.从Order到Customer的关联 ...

  5. 教你用Java安全有效的实现两星期内自动登陆功能-Session

    现在很多网站都有为用户保存登陆信息(即保存Cookie)的功能,当用户下一次进入网站时,可以帮助用户自动登陆,使网站显得更加友好.笔者通过研究ACEGI项目的自动登陆源码,编写了一个安全有效的实现两星 ...

  6. JVM内存结构之一--总体介绍

    Java 虚拟机在执行Java程序的时候会把它管理的内存区域划为几部分,这一节我们就来解析一下Java的内存区域. 有的人把JVM管理的内存简单地分为堆内存和栈内存,这样分未免有些太肤浅了. Java ...

  7. 15、NDK开发初步

    一.什么是NDK? NDK是Android让你潜入原生组件(C/C++开发)的一套开发套件 Android应用程序是运行在Dalvik虚拟机中的 ,NDK允许你通过原生代码实现部分的应用程序模块 . ...

  8. java 多线程下载

    import java.io.ByteArrayOutputStream; import java.io.InputStream; public class StreamTool { /** * 把一 ...

  9. 介绍并扩展Fitnesse的测试模块化机制:ScenarioTable

    摘要:在验收测试框架Fitneese中,使用Scenario可以把最常用的测试步骤封装起来,从而达到模块化定义Fitnesse测试用例的能力.但Scenario仅限于封装Script测试步骤,Scri ...

  10. longblogV1.0——我的静态博客发布系统

    longblogV1.0——我的静态博客发布系统 环境依赖: python3-markdown 作者:IT小小龙个人主页:http://long_python.gitcafe.com/电子邮箱:lon ...