日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 进度条 代码,Android 进度条使用详解及示例代码

發布時間:2025/3/15 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 进度条 代码,Android 进度条使用详解及示例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這里,總結一下loading進度條的使用簡單總結一下。

一、說起進度條,必須說說條形進度條,經常都會使用到嘛,特別是下載文件進度等等,還有像騰訊QQ安裝進度條一樣,有個進度總給人良好的用戶體驗。

先來找圖看看,做這個圖完成不用圖片就可以做到了。

看下xml布局文件,其實就是直接用xml寫的在加兩個屬性設置一下就好了,一個style,另一個是background。

android:id=”@+id/pb_progressbar”

style=”@style/StyleProgressBarMini”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:layout_margin=”30dp”

android:background=”@drawable/shape_progressbar_bg”

android:max=”100″

android:progress=”50″ />

先看style吧

50dip

10dip

false

@android:drawable/progress_indeterminate_horizontal

@drawable/shape_progressbar_mini

這里的progressDrawable又是引用一個自定義drawable,不是圖片哦。

shape_progressbar_mini.xml

android:angle=”270″

android:centerY=”0.75″

android:endColor=”#FFFFFF”

android:startColor=”#FFFFFF” />

android:angle=”270″

android:centerY=”0.75″

android:endColor=”#df0024″

android:startColor=”#df0024″ />

android:angle=”270″

android:centerY=”0.75″

android:endColor=”#de42ec”

android:startColor=”#de42ec” />

再來看看shape_progressbar_bg.xml

android:shape=”rectangle” >

padding:邊界的間隔–>

android:bottom=”1dp”

android:left=”1dp”

android:right=”1dp”

android:top=”1dp” />

就這樣把一個漂亮的條形進度條做好了,在shape_progressbar_bg.xml中,邊框填充的顏色是一種挺好的方法,加了一個進度條的邊框。另外為了進度條四個角都是圓形的,就用了這個屬性 。

搞定,這個時候可以開心一下了,去喝杯水先。

二、圓形進度條。另一個比較常用的就是圓形進度條,表示正在進行中。。。

來看2張小圖

先看第一張,分析下代碼,用自定義的view,用pop來做的哦。LoadingDialog.java

public class LoadingDialog {

private Context context;

private PopupWindow popupDialog;

private LayoutInflater layoutInflater;

private RelativeLayout layout;

private RelativeLayout layout_bg;

private View circleView;

private RotateAnimation rotateAnim;

private AlphaAnimation alphaAnim_in;

private AlphaAnimation alphaAnim_out;

public LoadingDialog(Context context) {

layoutInflater = LayoutInflater.from(context);

this.context = context;

}

private void initAnim() {

rotateAnim = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

rotateAnim.setDuration(2000);

rotateAnim.setRepeatMode(Animation.RESTART);

rotateAnim.setRepeatCount(-1);

rotateAnim.setInterpolator(new LinearInterpolator());

alphaAnim_in = new AlphaAnimation(0f, 1f);

alphaAnim_in.setFillAfter(true);

alphaAnim_in.setDuration(200);

alphaAnim_in.setInterpolator(new LinearInterpolator());

alphaAnim_out = new AlphaAnimation(1f, 0f);

alphaAnim_out.setFillAfter(true);

alphaAnim_out.setDuration(100);

alphaAnim_out.setInterpolator(new LinearInterpolator());

alphaAnim_out.setAnimationListener(new AnimationListener() {

@Override

public void onAnimationStart(Animation arg0) {

}

@Override

public void onAnimationRepeat(Animation arg0) {

}

@Override

public void onAnimationEnd(Animation arg0) {

dismiss();

}

});

}

/**

* 判斷是否顯示

* @return

*/

public boolean isShowing() {

if (popupDialog != null && popupDialog.isShowing()) {

return true;

}

return false;

}

/**

* 顯示

*/

public void show() {

dismiss();

initAnim();

layout = (RelativeLayout) layoutInflater.inflate(R.layout.view_loadingdialog, null);

circleView = (View) layout.findViewById(R.id.loading_dialog);

layout_bg = (RelativeLayout) layout.findViewById(R.id.bgLayout);

popupDialog = new PopupWindow(layout, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

View parentView = ((Activity) context).getWindow().findViewById(Window.ID_ANDROID_CONTENT);

popupDialog.showAtLocation(parentView, Gravity.CENTER, 0, 0);

layout_bg.startAnimation(alphaAnim_in);

circleView.startAnimation(rotateAnim);

}

/**

* 隱藏

*/

public void dismiss() {

if (popupDialog != null && popupDialog.isShowing()) {

layout_bg.clearAnimation();

circleView.clearAnimation();

popupDialog.dismiss();

}

}

}

這里呢引用了view_loadingdialog.xml,已作整個頁面的背景和loading框。

view_loadingdialog.xml

android:layout_width=”match_parent”

android:layout_height=”match_parent” >

android:id=”@+id/bgLayout”

android:layout_width=”match_parent”

android:layout_height=”match_parent”

android:background=”#66000000″ >

android:id=”@+id/loading_dialog”

android:layout_width=”48dp”

android:layout_height=”48dp”

android:layout_centerInParent=”true”

android:background=”@drawable/shape_loading_dialog” />

再看看這個shape_loading_dialog.xml,繪制轉動的圓形性狀,又不用圖片挺好的。

android:shape=”oval” >

android:width=”3dp”

android:dashWidth=”2dp”

android:dashGap=”3dp”

android:color=”#fff”/>

android:startColor=”#00ffffff”

android:endColor=”#00ffffff”

android:angle=”180″/>

就是這樣子,實現了第一個圓形進度條。

可是如果做有顏色的圓形進度條呢,或者彩色的,后來想想不如加個圖片來實現好了。

LoadingImgDialog.java

public class LoadingImgDialog {

private Context context;

private PopupWindow popupDialog;

private LayoutInflater layoutInflater;

private RelativeLayout layout;

private RelativeLayout layout_bg;

private int residBg;

private View loading_dialog;

/** 背景添加旋轉動畫效果,實現了轉動動作 **/

private RotateAnimation rotateAnim;

/** 透明度動畫效果 **/

private AlphaAnimation alphaAnim_in;

private AlphaAnimation alphaAnim_out;

public LoadingImgDialog(Context context, int residBg) {

layoutInflater = LayoutInflater.from(context);

this.residBg = residBg;

this.context = context;

}

private void initAnim() {

rotateAnim = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

rotateAnim.setDuration(2000);

rotateAnim.setRepeatMode(Animation.RESTART);

rotateAnim.setRepeatCount(-1);

rotateAnim.setInterpolator(new LinearInterpolator());

alphaAnim_in = new AlphaAnimation(0f, 1f);

alphaAnim_in.setFillAfter(true);

alphaAnim_in.setDuration(200);

alphaAnim_in.setInterpolator(new LinearInterpolator());

alphaAnim_out = new AlphaAnimation(1f, 0f);

alphaAnim_out.setFillAfter(true);

alphaAnim_out.setDuration(100);

alphaAnim_out.setInterpolator(new LinearInterpolator());

/** 監聽動作,動畫結束時,隱藏LoadingColorDialog **/

alphaAnim_out.setAnimationListener(new AnimationListener() {

@Override

public void onAnimationStart(Animation arg0) {

}

@Override

public void onAnimationRepeat(Animation arg0) {

}

@Override

public void onAnimationEnd(Animation arg0) {

dismiss();

}

});

}

/**

* 判斷是否顯示

* @return

*/

public boolean isShowing() {

if (popupDialog != null && popupDialog.isShowing()) {

return true;

}

return false;

}

/**

* 顯示

*/

public void show() {

dismiss();

initAnim();

layout = (RelativeLayout) layoutInflater.inflate(R.layout.view_loadingcolordialog, null);

loading_dialog = (View) layout.findViewById(R.id.loading_dialog);

loading_dialog.setBackgroundResource(residBg);

layout_bg = (RelativeLayout) layout.findViewById(R.id.bgLayout);

popupDialog = new PopupWindow(layout, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

View parentView = ((Activity) context).getWindow().findViewById(Window.ID_ANDROID_CONTENT);

popupDialog.showAtLocation(parentView, Gravity.CENTER, 0, 0);

layout_bg.startAnimation(alphaAnim_in);

loading_dialog.startAnimation(rotateAnim);

}

/**

* 隱藏

*/

public void dismiss() {

if (popupDialog != null && popupDialog.isShowing()) {

layout_bg.clearAnimation();

loading_dialog.clearAnimation();

popupDialog.dismiss();

}

}

}

其實就是修改了一個地方,加入residBg,用圖片資源設置圓形進度條那一小部分的背景。

稍稍修改一句代碼換一張圖片,就變成了另一個圓形進度條了,好玩吧。

loadingColorDialog = new LoadingImgDialog(this, R.drawable.img_loading);

loadingColorDialog2 = new LoadingImgDialog(this, R.drawable.img_loading2);

給看看全屏效果圖吧,就稍稍修改一句代碼換一張圖片哦。

最后給MainActivity.java看看

public class MainActivity extends Activity implements OnClickListener {

Button bt_loading_dialog;

Button bt_color_loading_dialog;

Button bt_color_loading_dialog2;

LoadingDialog loadingDialog;

LoadingImgDialog loadingColorDialog;

LoadingImgDialog loadingColorDialog2;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}

private void initView() {

bt_loading_dialog = (Button) findViewById(R.id.bt_loading_dialog);

bt_loading_dialog.setOnClickListener(this);

bt_color_loading_dialog = (Button) findViewById(R.id.bt_loading_img_dialog);

bt_color_loading_dialog.setOnClickListener(this);

bt_color_loading_dialog2 = (Button) findViewById(R.id.bt_loading_img_dialog2);

bt_color_loading_dialog2.setOnClickListener(this);

loadingDialog = new LoadingDialog(this);

loadingColorDialog = new LoadingImgDialog(this, R.drawable.img_loading);

loadingColorDialog2 = new LoadingImgDialog(this, R.drawable.img_loading2);

}

@Override

public void onClick(View view) {

switch (view.getId()) {

case R.id.bt_loading_dialog:

loadingDialog.show();

break;

case R.id.bt_loading_img_dialog:

loadingColorDialog.show();

break;

case R.id.bt_loading_img_dialog2:

loadingColorDialog2.show();

break;

default:

break;

}

}

@Override

protected void onDestroy() {

super.onDestroy();

loadingColorDialog.dismiss();

}

@Override

public void onBackPressed() {

if (loadingDialog.isShowing()) {

loadingDialog.dismiss();

} else if (loadingColorDialog.isShowing()){

loadingColorDialog.dismiss();

} else if (loadingColorDialog2.isShowing()){

loadingColorDialog2.dismiss();

} else {

finish();

}

}

}

以上就是對Android 進度條資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

總結

以上是生活随笔為你收集整理的android 进度条 代码,Android 进度条使用详解及示例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 制服.丝袜.亚洲.中文.综合懂色 | a网址| 摸摸摸bbb毛毛毛片 午夜爽爽影院 | 欧美色噜噜 | 青娱乐av在线| 麻豆视频精品 | 99艹| 久久久久久片 | 欧美第一页草草影院 | 国产av一区二区不卡 | 激情伦成人综合小说 | 爱爱视频一区 | 五月天爱爱 | 成人网站在线进入爽爽爽 | 最近国语视频在线观看免费播放 | 久久天堂av综合合色蜜桃网 | 国产一级视频 | 青草青草视频 | 97理伦| av国产在线观看 | 色爱av| 永久免费看mv网站入口亚洲 | 国产精品水嫩水嫩 | 永久免费在线 | 国产欧美自拍 | 久久久观看 | 天天摸夜夜添狠狠添婷婷 | 人与动物毛片 | 91精品在线免费 | 精品人妻码一区二区三区红楼视频 | 欧美日韩久久久久久 | 国产成人中文字幕 | 长篇高h肉爽文丝袜 | 久久av资源 | 秋葵视频污 | 麻豆chinese新婚xxx | 91av视频在线免费观看 | 日本色视 | 大号bbwassbigav女 | 韩国国产在线 | 六月色婷婷 | 婷婷色婷婷开心五月四房播播 | 久久中文字幕一区二区 | 婷婷激情五月 | 亚洲欧美另类一区 | 亚洲成人免费影院 | 老司机午夜av | 又黄又爽无遮挡 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 91亚色| 亚洲无卡 | 少妇又色又紧又大爽又刺激 | 另类小说亚洲色图 | 亚洲性xx| 波多野结衣av在线播放 | 色人综合| 四虎黄色 | 男女一进一出视频 | 日本伊人色 | 日本老熟妇毛茸茸 | 欧美成年视频 | 国产做a| 高h文在线| 天堂va蜜桃一区 | 伊人伦理 | 视频免费观看在线 | 97精品视频在线 | 国产精品久久久午夜夜伦鲁鲁 | 91影院在线免费观看 | 精品无码一区二区三区蜜臀 | 成人午夜激情影院 | 中文字幕一二三四 | 亚洲特级黄色片 | 中文字幕人妻互换av久久 | 黄色网址在线视频 | 女人喂男人奶水做爰视频 | 成人一卡二卡 | 欧美mv日韩mv国产网站app | 麻豆传媒在线免费 | 欧美天堂在线观看 | 国产传媒视频在线观看 | 玖草视频在线 | 毛茸茸亚洲孕妇孕交片 | 最好看的2019年中文视频 | 男人深夜影院 | 亚洲妇熟xx妇色黄蜜桃 | 九九涩 | 黄色片xxx| 成人网站免费观看入口 | 超碰在线免费公开 | 久久99国产精品久久99果冻传媒 | 欧美一区二区三区观看 | 91成人在线观看喷潮动漫 | 假日游船法国满天星 | 天天综合天天做天天综合 | 四虎在线精品 | 午夜电影福利网 | 天天干夜夜添 | 国产无码久久精品 |