- 浏览: 676269 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
Hippyqq:
谢谢很有用,
java中遍历MAP的几种方法 -
XSoftlab:
超详细。。。Java map 详解 - 用法、遍历、排序、常用 ...
java中遍历MAP的几种方法 -
bobo22:
importnet.sf.fmj.ui.application ...
java来调用电脑视频摄像头拍照进行截图 -
qq981378640:
#include <stdio.h>
int ...
c语言中unsigned类型和普通类型间的转换 -
qq981378640:
楼主你这样有点复杂了,直接这样写更好更方便
#include ...
c语言中unsigned类型和普通类型间的转换
本文源自http://www.cnblogs.com/TerryBlog/archive/2010/06/17/1759542.html
进度条(ProgressBar)
当一个应用程序在后台执行时,前台界面不会产生变化,但因为 Android 各机型配置大不相同,有时执行程序的过程中用户不知道发生了什么事,但界面却发生了变化。这时需要与用户交互的进度条用来提示用户后台执行程序的进度,这种做法是符合人性化的,进度条充分的符合上面的需求。进度条的详解如下:
1、进度条风格
2、进度条主要属性方法
3、模拟程序运行,使用进度条
1、进度条分类
长形进度条 (progressBarStyleHorizontal)
大圆形进度条(progressBarStyleLarge)
小圆形进度条 (progressBarStyleSmall)
默认风格 (progressBarStyle)
大致的使用场景为:比如,应用程序装载资源或者网络连接。下面介绍如何在 xml 中声明其中两种典型的进度条,先看一段布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<ProgressBar android:id="@+id/ProgressBar01" android:layout_width="200dp"
style="?android:attr/progressBarStyleHorizontal"
android:layout_height="wrap_content"
android:indeterminate="false"
android:visibility="gone"
></ProgressBar>
<ProgressBar android:id="@+id/ProgressBar02" android:layout_width="wrap_content"
android:max="100"
style="?android:attr/progressBarStyleLarge"
android:progress="50" android:secondaryProgress="70"
android:indeterminate="false"
android:visibility="gone"
android:layout_height="wrap_content"></ProgressBar>
<Button android:text="开始" android:id="@+id/Button01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
清单中,ProgressBar01为长形进度条,ProgressBar02为大圆形进度条,使用方法为声明“style=”在样式上加上各自属性,加载即可。
2、进度条主要属性方法
indeterminate
进度条分 不确定 (indeterminate=true)和 确定 (indeterminate=false)2种,默认值是(indeterminate=true)不确定
setMax
设置进度条的最大值,同时,确定(indeterminate=false)进度条中的最大值的设定,将调用 setMax()方法。
setProgress
Android 进度条中当前进度值的设置。
setSecondaryProgress
第二进度条的设置。
setVisibility
设置可见性。
3、模拟程序运行,使用进度条
界面布局引用上面 XML 布局文件,现在开始程序的实现步骤了:程序加载时,设置两个进度条的当前进度值为0,从0开始到Max值 100,的数值做递值相加,用户点击按钮时,模拟程序运行时间,起动一个线程为进度条的Progress 赋值。这里我们需要借助线程和消息机制帮我们实现数值累加的效果,在消息里面当接收到的消息符合我们条件判断隐藏进度条的运行。具体业务逻辑代码如下:
模拟程序运行线程代码如下:
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<10;i++)
{
try {
counter=(i+1)*20;
Thread.sleep(1000);
if(i==4)
{
Message msg=new Message();
msg.what=GUI_STOP;
progressBarActivity.this.myHandler.sendMessage(msg);
break;
}
else
{
Message msg=new Message();
msg.what=GUI_THREADING;
progressBarActivity.this.myHandler.sendMessage(msg);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}).start();
消息处理代码如下:
myHandler=new Handler()
{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case GUI_STOP:
myBar.setVisibility(View.GONE);
myBar2.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case GUI_THREADING:
if(!Thread.currentThread().interrupted())
{
myBar.setProgress(counter);
myBar2.setProgress(counter);
setProgress(counter*100);
setSecondaryProgress(counter*100);
}
break;
default:
break;
}
super.handleMessage(msg);
}
};
具体线程和消息机制的使用方法你可以参照:Android小項目之---時間線程應用(附源碼) 或者 Android 小項目之--消息、線程、動畫顯示圖片(附源碼) 线程和消息机制这两个知识点,必须掌握好,在项目中会经常使用到。具体的代码流程如下:
进度条完整代码参考
运行效果如图:
拖动条(SeekBar)
听歌的时候,我们常常喜欢快进或者退回某一时间段,听歌的时候,我们喜欢控件音量大小来听歌。做为与用户交互密切的另外一个控件SeekBar拖动条,可以让用户拖动达到用户需要的效果的控件,在无外乎大大提高用户的体验。下面我们来讲讲此拖动条。
1、拖动条的事件。
2、拖动条的主要属性和方法。
3、模拟方式实现手动的动作。
1、拖动条的事件
由于拖动条可以被用户控制。所以需要对其进行事件监听,这就需要实现SeekBar.OnSeekBarChangeListener接口。此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)
2、 拖动条的主要属性和方法
setMax
设置拖动条的数值
setProgress
设置拖动条当前的数值
setSeconddaryProgress
设置第二拖动条的数值,即当前拖动条推荐的数值
3、模拟方式实现手动的动作
程序中模仿了用户拖动拖动条的过程,对三个事件分别作了讯录,
进度条(ProgressBar)
当一个应用程序在后台执行时,前台界面不会产生变化,但因为 Android 各机型配置大不相同,有时执行程序的过程中用户不知道发生了什么事,但界面却发生了变化。这时需要与用户交互的进度条用来提示用户后台执行程序的进度,这种做法是符合人性化的,进度条充分的符合上面的需求。进度条的详解如下:
1、进度条风格
2、进度条主要属性方法
3、模拟程序运行,使用进度条
1、进度条分类
长形进度条 (progressBarStyleHorizontal)
大圆形进度条(progressBarStyleLarge)
小圆形进度条 (progressBarStyleSmall)
默认风格 (progressBarStyle)
大致的使用场景为:比如,应用程序装载资源或者网络连接。下面介绍如何在 xml 中声明其中两种典型的进度条,先看一段布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<ProgressBar android:id="@+id/ProgressBar01" android:layout_width="200dp"
style="?android:attr/progressBarStyleHorizontal"
android:layout_height="wrap_content"
android:indeterminate="false"
android:visibility="gone"
></ProgressBar>
<ProgressBar android:id="@+id/ProgressBar02" android:layout_width="wrap_content"
android:max="100"
style="?android:attr/progressBarStyleLarge"
android:progress="50" android:secondaryProgress="70"
android:indeterminate="false"
android:visibility="gone"
android:layout_height="wrap_content"></ProgressBar>
<Button android:text="开始" android:id="@+id/Button01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
清单中,ProgressBar01为长形进度条,ProgressBar02为大圆形进度条,使用方法为声明“style=”在样式上加上各自属性,加载即可。
2、进度条主要属性方法
indeterminate
进度条分 不确定 (indeterminate=true)和 确定 (indeterminate=false)2种,默认值是(indeterminate=true)不确定
setMax
设置进度条的最大值,同时,确定(indeterminate=false)进度条中的最大值的设定,将调用 setMax()方法。
setProgress
Android 进度条中当前进度值的设置。
setSecondaryProgress
第二进度条的设置。
setVisibility
设置可见性。
3、模拟程序运行,使用进度条
界面布局引用上面 XML 布局文件,现在开始程序的实现步骤了:程序加载时,设置两个进度条的当前进度值为0,从0开始到Max值 100,的数值做递值相加,用户点击按钮时,模拟程序运行时间,起动一个线程为进度条的Progress 赋值。这里我们需要借助线程和消息机制帮我们实现数值累加的效果,在消息里面当接收到的消息符合我们条件判断隐藏进度条的运行。具体业务逻辑代码如下:
模拟程序运行线程代码如下:
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<10;i++)
{
try {
counter=(i+1)*20;
Thread.sleep(1000);
if(i==4)
{
Message msg=new Message();
msg.what=GUI_STOP;
progressBarActivity.this.myHandler.sendMessage(msg);
break;
}
else
{
Message msg=new Message();
msg.what=GUI_THREADING;
progressBarActivity.this.myHandler.sendMessage(msg);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}).start();
消息处理代码如下:
myHandler=new Handler()
{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch (msg.what) {
case GUI_STOP:
myBar.setVisibility(View.GONE);
myBar2.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case GUI_THREADING:
if(!Thread.currentThread().interrupted())
{
myBar.setProgress(counter);
myBar2.setProgress(counter);
setProgress(counter*100);
setSecondaryProgress(counter*100);
}
break;
default:
break;
}
super.handleMessage(msg);
}
};
具体线程和消息机制的使用方法你可以参照:Android小項目之---時間線程應用(附源碼) 或者 Android 小項目之--消息、線程、動畫顯示圖片(附源碼) 线程和消息机制这两个知识点,必须掌握好,在项目中会经常使用到。具体的代码流程如下:
进度条完整代码参考
运行效果如图:
拖动条(SeekBar)
听歌的时候,我们常常喜欢快进或者退回某一时间段,听歌的时候,我们喜欢控件音量大小来听歌。做为与用户交互密切的另外一个控件SeekBar拖动条,可以让用户拖动达到用户需要的效果的控件,在无外乎大大提高用户的体验。下面我们来讲讲此拖动条。
1、拖动条的事件。
2、拖动条的主要属性和方法。
3、模拟方式实现手动的动作。
1、拖动条的事件
由于拖动条可以被用户控制。所以需要对其进行事件监听,这就需要实现SeekBar.OnSeekBarChangeListener接口。此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)
2、 拖动条的主要属性和方法
setMax
设置拖动条的数值
setProgress
设置拖动条当前的数值
setSeconddaryProgress
设置第二拖动条的数值,即当前拖动条推荐的数值
3、模拟方式实现手动的动作
程序中模仿了用户拖动拖动条的过程,对三个事件分别作了讯录,
发表评论
-
android应用 获取本地指定类型文件 的两种最优方法
2013-04-07 16:29 14062刚因为项目有需求,需求移动应用获取本地文件有下面两个 第一个 ... -
android 滚动条
2011-01-17 14:05 2050在ListView中添加属性: android:scrollb ... -
LayoutInflater的使用 android
2010-10-28 15:54 1106在实际开发种LayoutInflater这个类还是非常有用的, ... -
Android虚拟机大屏幕设置(开发平板电脑程序)
2010-08-31 10:33 2890如果使用android进行大屏幕开发,比如开发基于androi ... -
adb shell下使用命令行删除android系统中指定文件和文件夹
2010-08-25 13:07 26261记录一下命令: tools>adb remount t ... -
Android permission 访问权限大全
2010-07-30 23:03 1115androidmanifest.xml中声明相关权限请求, 完 ... -
android实现底部菜单栏
2010-07-29 15:56 7081android程序,许多时候需要菜单栏显示在底部或顶部,但是没 ... -
Android ExpandableListActivity 学习笔记
2010-07-27 21:33 3363An activity that displays an ex ... -
[转]android animation的应用实例
2010-07-20 23:13 1823此文件名为myanimation.xml 位于 res/ani ... -
Android入门第八篇之GridView(九宫图)
2010-07-15 17:32 2471GridView更是实现九宫图的首选!本文就是介绍如何使用Gr ... -
Android入门第五篇之TableLayout (二)//生成10行,8列的表格
2010-07-15 14:02 4151TableLayout添加数据(9宫图也可以用TableLay ... -
Android工具之Hierarchy Viewer--分析应用程序UI布局
2010-07-14 23:37 3612Android SDK提供的Hierarchy Viewer工 ... -
apk打包
2010-07-14 23:27 10343什么是apk文件 APK是Android Package Ki ... -
Android Intent的几种用法全面总结
2010-07-14 18:05 1154Intent, 用法 Intent应该算是Android中特有 ... -
TextView 在xml文件中的解释 android
2010-07-11 19:27 6838包位置:android.widget.TextView X ... -
Activity的跳转与传值
2010-07-05 16:54 3163Activity跳转与传值,主要是通过Intent类来连接多个 ... -
android:属性 layout_alignParentRight android:paddingRight
2010-07-03 22:59 11498android:layout_alignParentRight ... -
android模拟器输入中文
2010-06-29 16:50 2767首先:在设置里,选区域和文本,里面把谷歌拼音输入法复选上,就o ... -
Android Map开发基础知识学习笔记
2010-06-29 11:14 3400注册 Android 地图 API 密钥 运行:keyto ... -
Android MapView 申请apiKey
2010-06-29 11:01 12751. 首先先要获取你的debug keystore位置: 打开 ...
相关推荐
安卓源码包androi进度条垂直SeekBar(拖动条)seekbar滑动按钮等DEMO源码等4个合集: Android seekbar滑动按钮源码 仿知乎的横线直线progressbar 垂直SeekBar(拖动条) 环形的调节条,用于工程中特殊的调值控件,拟...
Android用户交互界面的操作实例:如何实现与用户交互的对接,如何创建和使用进度条(ProgressBar)与拖动条(SeekBar),附有实例的相关源码,相信大家对进度条和拖动条已经很熟悉了,各有各的用途,从实现上来说,...
这个是在公司项目中准备使用的一个控件,本准备直接在网上搜一个用,可惜找到的很多都是 ProgressBar,并不具备拖拽功能,于是自己动手实现了一个,其功能和特性均仿照 SeekBar 进行设计。 效果预览 支持的特性 [x...
本源码主要是学习SeekBar、ProgressBar用法,拖动条与进度条结合,当拖动拖动条的时候,ProgressBar跟随着变化,普通拖拉条被拉动的处理代码: SeekBar sb=(SeekBar)this.findViewById(R.id.SeekBar01); sb....
BxArcProgressBar:android 自定义 弧形等级进度条,参考项目【弧形的拖动条进度控件】https://github.com/jenly1314/ArcSeekBar,https://gitee.com/jenly1314/ArcSeekBar,含源码,apk,截图
有浮动文字提示的ProgressBarj进度条和SeekBar拖动条开源代码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
为大家分享一套Android widget窗口小部件用法实例集源码,在这个例子中,将涉及到一些大家非常熟悉而且非常有用的窗体UI组件的用法,比如Button按钮、textView、Editview编辑框、Checkbox选择框、RadioGroup单选框、...
Activity生命周期,Button与点击...ProgressBar进度条,SeekBar 拖动条,Tab分页式菜单,列表之ArrayAdapter适配,列表之SimpleAdapter适配等75个安卓软件开发的源代码,从初级到高级的游戏开发,一应俱全,希望大家来观看
4.2.20 拖动条(SeekBar) 4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局(RelativeLayout) ...
拖动条(SeekBar) 83 评分组件(RatingBar) 86 GridView、Gallery和ImageSwitcher 88 GridView 88 Gallery和ImageSwitcher 91 ListView 94 一、普通的ListView 94 可以单选和多选的ListView 95 使用SimpleAdapter建立...
5.2.17使用拖动条——SeekBar 5.2.1 8实例——简单使用SeekBar 5.2.19使用图片视图——ImageView 5.2.20实例——ImageView的重叠效果 5.2.21 使用网格视图——GridView 5.2.22实例——通过宫格视图展示相应的应用 ...
4.2.20 拖动条(SeekBar) 4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局...
4.2.14 拖动条(SeekBar) 4.2.15 评分条(RatingBar) 第5章 Android中的视图组件 5.1 视图组件 5.1.1 图片视图(ImageView) 5.1.2 滚动视图(ScrollView) 5.1.3 网格视图(GridView) 5.1.4 列表视图(ListView...
4.2.20 拖动条(SeekBar) 4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局...
4.2.20 拖动条(SeekBar) 4.2.21 状态栏提示(Notification、NotificationManager) 4.2.22 对话框中的进度条(ProgressDialog) 4.3 界面布局 4.3.1 垂直线性布局 4.3.2 水平线性布局 4.3.3.相对布局(RelativeLayout) ...
5.2.17使用拖动条——SeekBar 5.2.1 8实例——简单使用SeekBar 5.2.19使用图片视图——ImageView 5.2.20实例——ImageView的重叠效果 5.2.21 使用网格视图——GridView 5.2.22实例——通过宫格视图展示相应的应用 ...
7.3.13 拖动条(SeekBar)介绍与应用 7.3.14 评分组件(RatingBar)介绍与应用 7.3.15 图片视图(ImageView)介绍与应用 7.3.16 图片按钮(ImageButton)介绍与应用 7.3.17 切换图片(ImageSwitcher&Gallery) 7.3.18 网格视图...