- 浏览: 684311 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 14159刚因为项目有需求,需求移动应用获取本地文件有下面两个 第一个 ... -
android 滚动条
2011-01-17 14:05 2114在ListView中添加属性: android:scrollb ... -
LayoutInflater的使用 android
2010-10-28 15:54 1175在实际开发种LayoutInflater这个类还是非常有用的, ... -
Android虚拟机大屏幕设置(开发平板电脑程序)
2010-08-31 10:33 2977如果使用android进行大屏幕开发,比如开发基于androi ... -
adb shell下使用命令行删除android系统中指定文件和文件夹
2010-08-25 13:07 26328记录一下命令: tools>adb remount t ... -
Android permission 访问权限大全
2010-07-30 23:03 1159androidmanifest.xml中声明相关权限请求, 完 ... -
android实现底部菜单栏
2010-07-29 15:56 7169android程序,许多时候需要菜单栏显示在底部或顶部,但是没 ... -
Android ExpandableListActivity 学习笔记
2010-07-27 21:33 3400An activity that displays an ex ... -
[转]android animation的应用实例
2010-07-20 23:13 1852此文件名为myanimation.xml 位于 res/ani ... -
Android入门第八篇之GridView(九宫图)
2010-07-15 17:32 2544GridView更是实现九宫图的首选!本文就是介绍如何使用Gr ... -
Android入门第五篇之TableLayout (二)//生成10行,8列的表格
2010-07-15 14:02 4182TableLayout添加数据(9宫图也可以用TableLay ... -
Android工具之Hierarchy Viewer--分析应用程序UI布局
2010-07-14 23:37 3688Android SDK提供的Hierarchy Viewer工 ... -
apk打包
2010-07-14 23:27 10404什么是apk文件 APK是Android Package Ki ... -
Android Intent的几种用法全面总结
2010-07-14 18:05 1183Intent, 用法 Intent应该算是Android中特有 ... -
TextView 在xml文件中的解释 android
2010-07-11 19:27 6870包位置:android.widget.TextView X ... -
Activity的跳转与传值
2010-07-05 16:54 3212Activity跳转与传值,主要是通过Intent类来连接多个 ... -
android:属性 layout_alignParentRight android:paddingRight
2010-07-03 22:59 11538android:layout_alignParentRight ... -
android模拟器输入中文
2010-06-29 16:50 2813首先:在设置里,选区域和文本,里面把谷歌拼音输入法复选上,就o ... -
Android Map开发基础知识学习笔记
2010-06-29 11:14 3466注册 Android 地图 API 密钥 运行:keyto ... -
Android MapView 申请apiKey
2010-06-29 11:01 13031. 首先先要获取你的debug keystore位置: 打开 ...
相关推荐
这个是在公司项目中准备使用的一个控件,本准备直接在网上搜一个用,可惜找到的很多都是 ProgressBar,并不具备拖拽功能,于是自己动手实现了一个,其功能和特性均仿照 SeekBar 进行设计。 效果预览 支持的特性 [x...
在Android开发中,`ProgressBar`和`SeekBar`是两种非常重要的UI组件,它们用于展示进度或让用户进行滑动选择。让我们深入探讨这两种组件的详细知识。 `ProgressBar`是Android中的一个视图,它用于显示一个不可交互...
安卓源码包androi进度条垂直SeekBar(拖动条)seekbar滑动按钮等DEMO源码等4个合集: Android seekbar滑动按钮源码 仿知乎的横线直线progressbar 垂直SeekBar(拖动条) 环形的调节条,用于工程中特殊的调值控件,拟...
在Android开发中,ProgressBar和SeekBar是两种非常常用的组件,它们都用于展示进度或者让用户能够交互地调整数值。本文将深入探讨这两个控件的功能、用法以及它们在实际应用中的应用场景。 **一、ProgressBar** 1....
Android用户交互界面的操作实例:如何实现与用户交互的对接,如何创建和使用进度条(ProgressBar)与拖动条(SeekBar),附有实例的相关源码,相信大家对进度条和拖动条已经很熟悉了,各有各的用途,从实现上来说,...
- SeekBar继承自ProgressBar,是一个可触摸的滑动条,提供了横向的进度指示。 - 设置最大值(max)和当前值(progress),可以通过setMax()和setProgress()方法进行操作。 - 当用户触摸并移动滑块时,会触发...
BxArcProgressBar:android 自定义 弧形等级进度条,参考项目【弧形的拖动条进度控件】https://github.com/jenly1314/ArcSeekBar,https://gitee.com/jenly1314/ArcSeekBar,含源码,apk,截图
本篇文章将深入探讨Android中的ProgressBar及其两个主要子类SeekBar和RatingBar的使用方法。 首先,我们来了解ProgressBar的基本用法。ProgressBar分为两种模式:indeterminate(不确定)和determinate(确定)。在...
在Android开发中,进度条(ProgressBar)和SeekBar是两种常见的用户界面组件,它们用于向用户显示操作的进度或允许用户手动调整进度。本资源提供的开源代码着重于在进度条上显示浮动的文字提示,增强了用户体验。...
在Android开发中,SeekBar是一个非常常见的控件,它允许用户通过拖动滑块来选择一个介于最小值和最大值之间的值。这个组件通常用于音量调节、进度控制或者设置参数等场景。在本篇文章中,我们将深入探讨SeekBar的...
在Android中,通常使用`ProgressBar`类来创建进度条,但默认的进度条样式通常是水平的。为了创建一个圆形的进度条,我们需要自定义`ProgressBar`或从头构建一个全新的`View`。这涉及到对Android绘图API的深入理解,...
这个压缩包"Android中通过SeekBar手动控制ProgressBar与模拟下载自动更新进度条示例代码.zip"包含了一个示例项目,让我们来详细探讨这两个组件的使用方法。 首先,SeekBar在Android中的使用: SeekBar是一个可滑动...
智能家居系统中的拖动条SeekBar是Android开发中常见的一种用户界面元素,主要应用于调整数值或进度的场景。在智能家居系统的应用程序中,SeekBar可以被用来调节设备的亮度、音量或者执行其他连续可调的操作,比如...
在Android开发中,进度条(ProgressBar)和SeekBar是两种常见的用户界面组件,它们为用户提供反馈,展示任务执行的进度或允许用户手动调整设置。在本Android Demo中,我们将深入探讨这两种控件的使用方法和相关知识...
本源码主要是学习SeekBar、ProgressBar用法,拖动条与进度条结合,当拖动拖动条的时候,ProgressBar跟随着变化,普通拖拉条被拉动的处理代码: SeekBar sb=(SeekBar)this.findViewById(R.id.SeekBar01); sb....
SeekBar是Android SDK中的ProgressBar子类,通过在布局XML文件中声明<SeekBar>标签来添加到界面中。基本用法如下: ```xml <SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:...
SeekBar 是 Android 的一个继承自 ProgressBar 的组件,提供了一个可拖动的滑块来改变进度。它的基本用法是在布局 XML 文件中声明 SeekBar 控件,并在 Java 代码中通过 findViewById() 方法找到该控件,然后设置相应...
在Android开发中,ProgressBar、SeekBar、RatingBar以及ImageSwitcher是四个非常重要的UI组件,它们在构建用户界面时起着至关重要的作用。本示例代码将详细讲解如何使用这些组件来实现一个相册滑动的功能。 1. **...
在Android开发中,SeekBar是一种常用的控件,用于实现用户可交互的滑动选择条,通常用来调整音量、亮度或者进度等。"带刻度的进度条"指的是在SeekBar的基础上增加了刻度标记,使得用户能够更清晰地了解当前所选值在...
SeekBar 是 Android SDK 中的一个 ProgressBar 的子类,它提供了一个可拖动的滑块来显示进度。默认情况下,SeekBar 有一条背景轨道和一个滑块小部件,用户可以通过滑动小部件来改变进度值。SeekBAr 的主要属性包括...