当前位置:首页 » 安卓系统 » androidprogressbar

androidprogressbar

发布时间: 2022-06-30 08:38:45

⑴ android 怎么在progressbar中添加文字

在progressbar中添加文字
01 public class MyProgress extends ProgressBar{
02 String text;
03 Paint mPaint;
04
05 public MyProgress(Context context) {
06 super(context);
07 // TODO Auto-generated constructor stub
08 System.out.println("1");
09 initText();
10 }
11
12 public MyProgress(Context context, AttributeSet attrs, int defStyle) {
13 super(context, attrs, defStyle);
14 // TODO Auto-generated constructor stub
15 System.out.println("2");
16 initText();
17 }
18
19
20 public MyProgress(Context context, AttributeSet attrs) {
21 super(context, attrs);
22 // TODO Auto-generated constructor stub
23 System.out.println("3");
24 initText();
25 }
26
27 @Override
28 public synchronized void setProgress(int progress) {
29 // TODO Auto-generated method stub
30 setText(progress);
31 super.setProgress(progress);
32
33 }
34
35 @Override
36 protected synchronized void onDraw(Canvas canvas) {
37 // TODO Auto-generated method stub
38 super.onDraw(canvas);
39 //this.setText();
40 Rect rect = new Rect();
41 this.mPaint.getTextBounds(this.text, 0, this.text.length(), rect);
42 int x = (getWidth() / 2) - rect.centerX();
43 int y = (getHeight() / 2) - rect.centerY();
44 canvas.drawText(this.text, x, y, this.mPaint);
45 }
46
47 //初始化,画笔
48 private void initText(){
49 this.mPaint = new Paint();
50 this.mPaint.setColor(Color.WHITE);
51
52 }
53
54 private void setText(){
55 setText(this.getProgress());
56 }
57
58 //设置文字内容
59 private void setText(int progress){
60 int i = (progress * 100)/this.getMax();
61 this.text = String.valueOf(i) + "%";
62 }
63
64
65 }
这样一个可以满足我们基本需求的进度条就写好了。
用的时候就可以直接在layout的XML里面加了,不过添加的写法稍微有点不同。标记名要写成这个自定义进度条的完整类名,就像下面这样。
1 <hol.test.MyProgress
2 android:id="@+id/pgsBar"
3 android:max="100"
4 android:layout_width="fill_parent"
5 android:layout_height="wrap_content"
6 style="?android:attr/progressBarStyleHorizontal"
7 android:visibility="visible"
8 />
这样写后,可能会因为命名空间改变,下面属性无法用代码提示。一个简单的做法就是,先写一个正常的ProgressBar的标记,把属性写完后,再将ProgressBar替换为我们自定义的进度条的完整类名。
最后,使用方法就和普通的ProgressBar差不多了。
01 public class ProgressTest extends Activity {
02
03 private Button btn_go = null;
04 private MyProgress myProgress = null;
05 private Handler mHandler;
06
07 /** Called when the activity is first created. */
08 @Override
09 public void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 setContentView(R.layout.main);
12 findView();
13 setParam();
14 addListener();
15
16 mHandler = new Handler(new Callback() {
17
18 @Override
19 public boolean handleMessage(Message msg) {
20 // TODO Auto-generated method stub
21 myProgress.setProgress(msg.what);
22 return false;
23 }
24 });
25
26 }
27
28 private void findView(){
29 btn_go = (Button) findViewById(R.id.btn_go);
30 myProgress = (MyProgress) findViewById(R.id.pgsBar);
31 }
32
33 private void setParam(){
34 btn_go.setText("开始");
35 }
36 private void addListener(){
37 btn_go.setOnClickListener(new OnClickListener() {
38
39 @Override
40 public void onClick(View v) {
41 // TODO Auto-generated method stub
42 new Thread(new Runnable() {
43 @Override
44 public void run() {
45 // TODO Auto-generated method stub
46 for(int i = 0;i <=50; i++){
47 mHandler.sendEmptyMessage(i * 2);
48 try {
49 Thread.sleep(80);
50 } catch (InterruptedException e) {
51 // TODO Auto-generated catch block
52 e.printStackTrace();
53 }
54 }
55 }
56 }).start();
57 }
58 });
59 }
60 }

⑵ android中ProgressBar加载完成后怎么隐藏

用setVisible(View.GONE)方法就可以隐藏。

⑶ android布局文件里的ProgressBar长形进度条怎么自定义样式

在windows操作系统下Android studio按照如下步骤自动义ProgressBar长形进度条的样式。

1、首先创建一个android项目,打开其中的XML布局文件,如下图:

⑷ android progressbar 水平样式怎么开始动

Android ProgressBar 样式大全,包含几乎大部分常用的样式
工具/原料
Eclipse
Android ADT
方法/步骤
1
普通圆形ProgressBar
该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。一般只要在XML布局中定义就可以了。
<progressBar Android:id="@+id/widget43"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical">
</ProgressBar>
此时,没有设置它的风格,那么它就是圆形的,一直会旋转的进度条。
2
超大号圆形ProgressBar
此时,给设置一个style风格属性后,该ProgressBar就有了一个风格,这里大号ProgressBar的风格是: style="?android:attr/progressBarStyleLarge"完整XML定义是:
<progressBar android:id="@+id/widget196"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge">
</ProgressBar>

3
小号圆形ProgressBar
小号ProgressBar对应的风格是: style="?android:attr/progressBarStyleSmall"完整XML定义是:
<progressBar android:id="@+id/widget108"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmall">
</ProgressBar>
4
标题型圆形ProgressBar
标题型ProgressBar对应的风格是: style="?android:attr/progressBarStyleSmallTitle"完整XML定义是:
<progressBar android:id="@+id/widget110"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmallTitle">
</ProgressBar>
5
代码中实现:

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
//请求窗口特色风格,这里设置成不明确的进度风格
setContentView(R.layout.second);
(true);
//设置标题栏中的不明确的进度条是否可以显示
}

END
方法/步骤2
长形进度条
布局中的长形进度条
①首先在XML进行布局
<progressBar android:id="@+id/progressbar_updown"
android:layout_width="200dp"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center_vertical"
android:max="100"
android:progress="50"
android:secondaryProgress="70" >
讲解:style="?android:attr/progressBarStyleHorizontal"
设置风格为长形 android:max="100"
最大进度值为100 android:progress="50"
初始化的进度值 android:secondaryProgress="70"
初始化的底层第二个进度值 android:layout_gravity="center_vertical" 垂直居中
代码中运用 private ProgressBar myProgressBar;

//定义ProgressBar
myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);
//ProgressBar通过ID来从XML中获取
myProgressBar.incrementProgressBy(5);
//ProgressBar进度值增加5
myProgressBar.incrementProgressBy(-5);
//ProgressBar进度值减少5
myProgressBar.incrementSecondaryProgressBy(5);
//ProgressBar背后的第二个进度条 进度值增加5
myProgressBar.incrementSecondaryProgressBy(-5);
//ProgressBar背后的第二个进度条 进度值减少5

页面标题中的长形进度条
代码实现:
先设置一下窗口风格特性 requestWindowFeature(Window.FEATURE_PROGRESS);
//请求一个窗口进度条特性风格
setContentView(R.layout.main);
setProgressBarVisibility(true);
//设置进度条可视
然后设置进度值 setProgress(myProgressBar.getProgress() * 100);
//设置标题栏中前景的一个进度条进度值
setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);
//设置标题栏中后面的一个进度条进度值
//ProgressBar.getSecondaryProgress() 是用来获取其他进度条的进度值
ProgressDialogProgressDialog中的圆形进度条ProgressDialog一般用来表示一个系统任务或是开启任务时候的进度,有一种稍等的意思。代码实现:
ProgressDialog mypDialog=new ProgressDialog(this);
//实例化
mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
//设置进度条风格,风格为圆形,旋转的
mypDialog.setTitle("Google");
//设置ProgressDialog 标题
mypDialog.setMessage(getResources().getString(R.string.second));
//设置ProgressDialog 提示信息
mypDialog.setIcon(R.drawable.android);
//设置ProgressDialog 标题图标
mypDialog.setButton("Google",this);
//设置ProgressDialog 的一个Button
mypDialog.setIndeterminate(false);
//设置ProgressDialog 的进度条是否不明确
mypDialog.setCancelable(true);
//设置ProgressDialog 是否可以按退回按键取消
mypDialog.show();
//让ProgressDialog显示
ProgressDialog中的长形进度条

代码实现:
ProgressDialog mypDialog=new ProgressDialog(this);
//实例化
mypDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置进度条风格,风格为长形,有刻度的
mypDialog.setTitle("地狱怒兽");
//设置ProgressDialog 标题
mypDialog.setMessage(getResources().getString(R.string.second));
//设置ProgressDialog 提示信息
mypDialog.setIcon(R.drawable.android);
//设置ProgressDialog 标题图标
mypDialog.setProgress(59);
//设置ProgressDialog 进度条进度
mypDialog.setButton("地狱曙光",this);
//设置ProgressDialog 的一个Button
mypDialog.setIndeterminate(false);
//设置ProgressDialog 的进度条是否不明确
mypDialog.setCancelable(true);
//设置ProgressDialog 是否可以按退回按键取消
mypDialog.show();
//让ProgressDialog显示
END
注意事项
该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。
一般只要在XML布局中定义就可以了。

⑸ android中progressbar进度条有哪些

一、进度条的定义。
进度条即计算机在处理任务时,实时的,以图片形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间,一般以长方形条状显示。
二、进度条的由来。
在数字运算机发明之前,就已经有了进度条的概念。1896 年,Karol Adamiecki(波兰人;经济学家,工程师和管理研究人员),发明了一种叫做harmonogram(波兰语,时间表)的图表;1903年,他的理论在俄罗斯技术界引起了轰动。他在波兰杂志《 Przegląd Techniczny 》发表了一些文章(1909)。 1931年,他发表了一篇更广为人知的文章《armonogram or harmonograf.》(波兰语,日程或时间表),描述他的图。Adamiecki只是在波兰和俄罗斯发表这些文章,较少被英语国家了解。
同一时间,亨利·甘特(Henry Gantt)提出类似的方法已在西方普及,他在1910年和1915年都发表过文章。算是以讹传讹吧,Adamiecki的图表就被叫做为甘特图。这个概念后来被用于计算领域。
三、进度条的应用。
以文件处理为例:
单个文件的进度处理方法:
使用CopyFileEx进行文件复制,这个函数专门提供了一个回调函数用来处理进度条,详细参见MSDN。
总体进度的处理方法:
如果一批文件,首先获得文件的数量count = 文件数量
设置进条的范围为0至count,每完成一个文件,就向前进一步。

⑹ android如何判断ProgressBar加载的时间的长短

android判断ProgressBar加载的时间的长短的方法为:
1、得到影片的大小,然后获取实时下载速度计算时间即可。
2、直接在new ProgressBar 的时候,同时也获取此时的时间戳,如果时间已经超过了10s,那就关闭ProgressBar 显示出toast。

⑺ android progressbar 自动加载完毕

ndroid progressbar 自动加载完毕的处理方法为:
1、在主线程中创建子Thread,然后sendMessage给Handle。
2、Android asyncTask .,源码为:
public class LoadingActivity extends Activity {
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//设置一个progressdialog的弹窗
dialog = ProgressDialog.show(this, null, "程序正在加载,请稍候...", true, false);
//启动一个处理loading业务的线程
new LoadingThread(this).start();
}

private class LoadingThread extends Thread {
private LoadingActivity activity;

public LoadingThread(LoadingActivity act) {
Log.d(">>>>>LoadingThread", "构造方法");
activity = act;
}

public void run() {
Log.d(">>>>>LoadingThread", "传递message");
//*********************
// 处理业务
//*********************

//发送消息
activity.mHandler.sendEmptyMessage(0);
}
}

//处理跳转到主Activity
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
Log.d(">>>>>Mhandler", "开始handleMessage");
Intent mIntent = new Intent();
mIntent.setClass(LoadingActivity.this, PalmHospital_main_Activity.class);
startActivity(mIntent);
LoadingActivity.this.finish();
Log.d(">>>>>Mhandler", "LoadActivity关闭");
if (dialog.isShowing())
dialog.dismiss();
}
};
}

⑻ 关于Android怎么改变ProgressBar进度条颜色

需求:下载中的颜色要自定义,要替换为另外的一个颜色

方法:就是在

<ProgressBar
android:layout_weight="1"
android:id="@+id/download_item_progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="15dip"
android:progressDrawable="@drawable/progressbar_style"></ProgressBar>

在drawable中新建一个progressBar_style.xml文件,

这个属性进行设置,有两个方案:

第一,设置两张图片:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="">

<item android:id="@android:id/background"
android:drawable="@drawable/progressbar_not" />

<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/progressbar_not">
</item>

<item android:id="@android:id/progress"
android:drawable="@drawable/progressbar_selected">

</item>
</layer-list>

第二种,设置背景颜色:

<?xml version="1.0" encoding="utf-8"?>
<item android:id="@android:id/background"

>

<shape>

<corners android:radius="5dip" />

<gradient

android:startColor="#666666"

android:centerColor="#666666"

android:centerY="0.75"

android:endColor="#666666"

android:angle="270"

/>

</shape>

</item>

<item android:id="@android:id/progress"

>

<clip>

<shape>

<corners android:radius="5dip" />

<gradient

android:startColor="#da1f3e"

android:centerColor="#da1f3e"

android:centerY="0.75"

android:endColor="#da1f3e"

android:angle="270"

/>

</shape>

</clip>

</item>

<item android:id="@android:id/secondaryProgress"

>

<clip>

<shape>

<corners android:radius="5dip" />

<gradient

android:startColor="#fed7ec"

android:centerColor="#fed7ec"

android:centerY="0.75"

android:endColor="#fed7ec"

android:angle="270"

/>

</shape>

</clip>

</item>

</layer-list>

其中的属性还要进一步研究具体作用,据文档翻译有设置角度,渐变的。
转载,仅供参考。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:642
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:368
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:89
php微信接口教程 发布:2025-04-16 17:07:30 浏览:311
android实现阴影 发布:2025-04-16 16:50:08 浏览:794
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:346
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:213
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:818
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:369
土压缩的本质 发布:2025-04-16 16:13:21 浏览:594