Android小程序(新手) 那就是自己画的进度吧,不是用系统的progressbar。自己定义一个view,然后设置宽高,ondraw里去根据进度绘制。bitmap可以指定绘制的区域。起个handler一点一点绘制出来就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://download.csdn.net/source/2695755 http://download.csdn.net/source/2626708 这中特殊的要求只能是自己自定义的View。关于自定义View的方法,去网上查查,有很多的。。 package mars.ProgressBarTest;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.Window;import android.widget.Button;import android.widget.ProgressBar;public class ProgressBarTest extends Activity { /** Called when the activity is first created. */ private ProgressBar m_ProgressBar; private ProgressBar m_ProgressBar2; private Button mButton01; protected static final int GUI_STOP_NOTOFIER = 0x108; protected static final int GUI_THREADING_NOTOFIER = 0x109; public int intCounter = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置窗口模式,因为需要显示进度条在标题栏 requestWindowFeature(Window.FEATURE_PROGRESS); setProgressBarVisibility(true); setContentView(R.layout.main); //取得ProgressBar m_ProgressBar = (ProgressBar)findViewById(R.id.ProgressBar01); m_ProgressBar2 = (ProgressBar)findViewById(R.id.ProgressBar02); mButton01 = (Button)findViewById(R.id.myButton); m_ProgressBar.setIndeterminate(false); m_ProgressBar2.setIndeterminate(false); //当按钮按下时开始执行 mButton01.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //设置ProgressBar为可见状态 m_ProgressBar.setVisibility(View.VISIBLE); m_ProgressBar2.setVisibility(View.VISIBLE); //设置ProgressBar的最大值 m_ProgressBar.setProgress(0); m_ProgressBar2.setProgress(0); //通过线程来改变ProgressBar的值 new Thread(new Runnable() { public void run() { for(int i =0; i < 10; i++) { try { intCounter = (i + 1)*20; Thread.sleep(1000); if(i == 4) { Message m = new Message(); m.what = ProgressBarTest.GUI_STOP_NOTOFIER; ProgressBarTest.this.MyMessageHandler.sendMessage(m); break; } else { Message m = new Message(); m.what = ProgressBarTest.GUI_THREADING_NOTOFIER; ProgressBarTest.this.MyMessageHandler.sendMessage(m); } } catch(Exception e) { e.printStackTrace(); } } } } ).start(); } }); } Handler MyMessageHandler = new Handler() { public void handleMessage (Message msg) { switch (msg.what) { //ProgressageBar已经是最大值 case ProgressBarTest.GUI_STOP_NOTOFIER: m_ProgressBar.setVisibility(View.GONE); m_ProgressBar2.setVisibility(View.GONE); Thread.currentThread().interrupt(); break; case ProgressBarTest.GUI_THREADING_NOTOFIER: if(!Thread.currentThread().isInterrupted()) { m_ProgressBar.setProgress(intCounter); m_ProgressBar2.setProgress(intCounter); setProgress(intCounter*100); setSecondaryProgress(intCounter*100); } break; } super.handleMessage(msg); } };}有些东西自己写。 流量统计 android城市名称获取经度和纬度 listviewDrop 按住icon拖动条目的时候 条目变小 只开版,却没有内容! CSDN有出微博的计划吗? 开发android应用的总体思路是什么样的? 精品来了-Material Design中文版新鲜出炉-极客学院 为什么在Eclipse里面strings.xml文件不会自动索引到R.java 安卓开发不能从values/strings.xml读取信息 win7下的Android studio工程文件在Ubuntu下无法正常安装的问题 Andrion问题 youtube中采用json解析如何得到视频的所有评语?
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.ProgressBar;public class ProgressBarTest extends Activity
{
/** Called when the activity is first created. */
private ProgressBar m_ProgressBar;
private ProgressBar m_ProgressBar2;
private Button mButton01;
protected static final int GUI_STOP_NOTOFIER = 0x108;
protected static final int GUI_THREADING_NOTOFIER = 0x109;
public int intCounter = 0;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//设置窗口模式,因为需要显示进度条在标题栏
requestWindowFeature(Window.FEATURE_PROGRESS);
setProgressBarVisibility(true);
setContentView(R.layout.main);
//取得ProgressBar
m_ProgressBar = (ProgressBar)findViewById(R.id.ProgressBar01);
m_ProgressBar2 = (ProgressBar)findViewById(R.id.ProgressBar02);
mButton01 = (Button)findViewById(R.id.myButton);
m_ProgressBar.setIndeterminate(false);
m_ProgressBar2.setIndeterminate(false);
//当按钮按下时开始执行
mButton01.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
//设置ProgressBar为可见状态
m_ProgressBar.setVisibility(View.VISIBLE);
m_ProgressBar2.setVisibility(View.VISIBLE);
//设置ProgressBar的最大值
m_ProgressBar.setProgress(0);
m_ProgressBar2.setProgress(0);
//通过线程来改变ProgressBar的值
new Thread(new Runnable()
{
public void run()
{
for(int i =0; i < 10; i++)
{
try
{
intCounter = (i + 1)*20;
Thread.sleep(1000);
if(i == 4)
{
Message m = new Message();
m.what = ProgressBarTest.GUI_STOP_NOTOFIER;
ProgressBarTest.this.MyMessageHandler.sendMessage(m);
break;
}
else
{
Message m = new Message();
m.what = ProgressBarTest.GUI_THREADING_NOTOFIER;
ProgressBarTest.this.MyMessageHandler.sendMessage(m);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
} ).start();
}
});
}
Handler MyMessageHandler = new Handler()
{
public void handleMessage (Message msg)
{
switch (msg.what)
{
//ProgressageBar已经是最大值
case ProgressBarTest.GUI_STOP_NOTOFIER:
m_ProgressBar.setVisibility(View.GONE);
m_ProgressBar2.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case ProgressBarTest.GUI_THREADING_NOTOFIER:
if(!Thread.currentThread().isInterrupted())
{
m_ProgressBar.setProgress(intCounter);
m_ProgressBar2.setProgress(intCounter);
setProgress(intCounter*100);
setSecondaryProgress(intCounter*100);
}
break;
}
super.handleMessage(msg);
}
};
}有些东西自己写。