⑴ android用异步任务做一个简单的圆形进度条加载该怎么做 代码求简单清楚!
先上layout xml:
[html] view plain
<?xml version="1.0" encoding="UTF-8"?>
<ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:interpolator="@android:anim/linear_interpolator" />
android:interpolator="@android:anim/linear_interpolator"这句话表示进度条动画是匀速的。
再来定义一个CustomProgressDialog:
[html] view plain
public class CustomProgressDialog extends ProgressDialog{
public CustomProgressDialog(Context context) {
super(context);
}
public CustomProgressDialog(Context context, int theme) {
super(context, theme);
}
⑵ android 怎么自定义绘制如下图中这种进度条
下面是安卓学习手册中实现各种进度条的截图:
要想看各种进度条的实现代码和文档,直接去360手机助手中下载安卓学习手册,例子文档随便看。
1、说明
在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。这种模式常用于应用程序使用任务的长度是未知的。
2、XML重要属性
android:progressBarStyle:默认进度条样式
android:progressBarStyleHorizontal:水平样式
3 重要方法
getMax():返回这个进度条的范围的上限
getProgress():返回进度
getSecondaryProgress():返回次要进度
incrementProgressBy(int diff):指定增加的进度
isIndeterminate():指示进度条是否在不确定模式下
setIndeterminate(boolean indeterminate):设置不确定模式下
setVisibility(int v):设置该进度条是否可视
4 重要事件
onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件
5进度条的样式
Widget.ProgressBar.Horizontal长形进度
Androidxml 布局:
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Horizontal "
/>
源码:
private ProgressBar mProgress;
private int mProgressStatus=0;
private Handler mHandler=newHandler();
@Override
protected void onCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mProgress=(ProgressBar)findViewById(R.id.progress_bar);
new Thread(new Runnable(){
@Override
public void run(){
while(mProgressStatus<100){
mProgressStatus=doWork();
mHandler.post(new Runnable(){
@Override
public void run(){
mProgress.setProgress(mProgressStatus);
}
});
}
}
}).start();
}
效果图:
带第二进度的进度条
xml配置如下:
<ProgressBar
android:id="@+id/progress_bar_with_second"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:progress="40"
android:secondaryProgress="70"
android:paddingTop="20dp"
android:paddingBottom="20dp"/>
这里我们设置了初始的进度为40,android:progress的值在mini和max之间即mini<=progressvalue<=max
设置了第二进度条的进度值为70,该值也在mini和max之间。
效果如下:
不确定模式进度条
xml配置文件:
<ProgressBar
android:id="@+id/progress_bar_indeterminate"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:indeterminateBehavior="cycle"
android:paddingBottom="20dp"
android:paddingTop="20dp"
android:progress="40" />
这里通过android:indeterminate="true"设置了当前为无模式进度条
效果如图:
普通圆形进度:Widget.ProgressBar.Inverse
<ProgressBar
android:id="@+id/progress_bar1"
style="@android:style/Widget.ProgressBar.Inverse"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:progress="50"
android:background="#ff00ff"
android:paddingTop="4dp" />
通过android:backgroup设置了背景色
⑶ android中怎么让圆形进度条动画
首先解决问题一的问题: 你肯定使用了系统的 oncreateDialog 和 showdialog 方法了,所以 这个就会显示一次 第二次不显示了 , 你应该调用 dialog方法里面的 show()方法 来显示,这样每次显示那个progressbar都会在转圈 问题二: 你说下面设置了一个白色背景,但是下面还是有个框,不过我有个疑问,如果你设置为白色背景,那么你的转条默认是白色的不就看不见了吗?好了这个问题不纠结了!那个黑色的是边框导致的,去掉边框就行了 一般我们采用的是自定义dialog,也就是写一个类来继承dialog,这个时候的构造函数是这个: public MyDialog(Context context, int theme) { super(context, theme); this.context = context; init(); } 这个theme是什么东西呢? 就是一个style样式 如下: <resources> <style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item><!--边框-- <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-- <item name="android:windowIsTranslucent">false</item><!--半透明-- <item name="android:windowNoTitle">true</item><!--无标题-- <item name="android:windowBackground">@color/transparent</item><!--背景透明-- <item name="android:backgroundDimEnabled">false</item><!--模糊-- </style></resources> 其他代码: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { Dialog dialog = new MyDialog(this, R.style.MyDialog); android.view.WindowManager.LayoutParams pa3 = new android.view.WindowManager.LayoutParams(); pa3.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT; pa3.width = android.view.WindowManager.LayoutParams.WRAP_CONTENT; pa3.x = 0;//x 起点 pa3.y = 0;//y起点 Window window = dialog.getWindow(); window.setAttributes(pa3); dialog.show(); return super.onKeyDown(keyCode, event); } 之所以android.view.WindowManager.LayoutParams我要这么写,因为LayoutParams太多了,我害怕你找半天,兄弟对你够好了吧! 要是选为精彩回答 那就谢谢你了!
⑷ Android 自定义进度条,通过canvas怎么画一个进度条
现在很多手机版网页,或者比较高版本的页面中,经常碰到一中圆形的百分比进度效果这个其实用HTML5中的SVG实现起来比较容易而且逼格看起来比较高使用方法:1、将head中的样式复制到你的样式表中2、将body中的代码部分拷贝过去即可
⑸ Android界面设计,下面图的那个圆形进度条怎么设计
这个你要自定义 Android 进度条。
自定义 progressbar 的样式。
⑹ Android自定义View实现可拖拽的进度条
在onSizeChanged方法中进行计算,这时可以得到一条与控件宽度相同的直线,并把路径设置给PathMeasure
使用PathMeasure得出当前进度的路径并进行绘制,这里我将上一步的绘制放在了一起
这个矩形的宽度需要我们用绘制最长的文字来确定其宽高
另外矩形的显示位置也是以当前进度所在的点为中心点
文字显示的位置计算起来就比较简单了,直接用上一步算出的矩形的中心点即可,不过这里需要调整文字绘制的垂直的偏移,这样才能实现文字垂直居中
实现拖拽需要对onTouchEvent方法进行处理,也就是当手指触摸矩形区域的时候,根据手指横向滑动的偏移来设置当前的进度,具体如下
为了适配高度的wrap_content属性,我们需要计算出控件最小需要显示的高度
这里我们是用显示进度的矩形的高度作为控件最小的高度的,因为矩形的高度是所有图形最高的一个
https://gitee.com/itfitness/seek-progress-bar
⑺ android自定义环形进度条怎么自由控制进度条的消失与隐藏
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bluetoothmeter);
mhandler = new Handler();
//通过mSearcheHandler更新UI
mSearchHandler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==0){
//改变环形进度条的进度
mCircleProcessBar.setProgress(mcnt);
mcnt+=1;
if(MCNT_MAX<=mcnt){
mCircleProcessBar.setVisibility(View.GONE);
}
}
}
};
mBlueService = BluetoothLeService.getInstance();
initView();
initEvent();
}
private void initEvent()
{
mImgBtnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//搜索
mbtnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Prepare list view and initiate scanning
if (m_devicelistadapter != null) {
m_devicelistadapter.clear();
m_devicelistadapter.notifyDataSetChanged();
}
startScan();
//设置圆环进度条的出现时间(秒)
new TimerDelay(mSearchHandler).setDelayTime(CIRCLE_APPARE_TIME,mCircleProcessBar);
mcnt=1;
}
});
}
⑻ Android 圆形进度条控件
自定义控件圆形进度条,支持顶部圆环渐变色,以及动画功能.
res/vasues/attrs.xml
⑼ Android 怎么实现圆形水纹状进度
CircleProgress:圆形进度条,可以实现仿 QQ 健康计步器的效果,支持配置进度条背景色、宽度、起始角度,支持进度条渐变
DialProgress:类似 CircleProgress,但是支持刻度
WaveProgress:实现了水波纹效果的圆形进度条,不支持渐变和起始角度配置,如需此功能可参考 CircleProgress 自行实现。
先上效果图,有图才好说。
⑽ Android 圆形进度条-跟360进度类似-时钟刻度
话不多说 先上图
实现原理:
1、先画出中心进度问题
2、圆形进度灰色背景、圆形进度值带光晕
3、时钟刻度
github: https://github.com/hyyz3293/circlegearview.git