Android使用動(dòng)畫設(shè)置ProgressBar進(jìn)度的方法
需求場(chǎng)景:當(dāng)我們?cè)谑褂肞rogressBar的時(shí)候,希望有進(jìn)度加載的效果,此時(shí)我們傳統(tǒng)的做法是使用Thread線程來(lái)實(shí)現(xiàn),下面我們用屬性動(dòng)畫來(lái)實(shí)現(xiàn),簡(jiǎn)單粗暴。。哈哈哈
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.yhx.app.progressbardemo.MainActivity"> <ProgressBar android:layout_marginTop="20dp" android:id="@+id/bar" android:layout_width="match_parent" android:layout_height="8dp" style="?android:attr/progressBarStyleHorizontal" android:progress="10" android:max="100"> </ProgressBar> <Button android:hint="開始" android:onClick="show" android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="50dp"/> <TextView android:id="@+id/tv_bar" android:layout_marginTop="20dp" android:layout_width="100dp" android:text="0" android:gravity="center" android:textSize="38dp" android:layout_gravity="center" android:layout_height="100dp"/> <Button android:hint="開始" android:onClick="tvshow" android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="50dp"/> </LinearLayout>
Activity:
public class MainActivity extends AppCompatActivity { private ProgressBar mProgressBar; TextView mtv_bar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mProgressBar = (ProgressBar) findViewById(R.id.bar); mtv_bar = (TextView) findViewById(R.id.tv_bar); setAnimation(mProgressBar, 100); } private void setAnimation(final ProgressBar view, final int mProgressBar) { ValueAnimator animator = ValueAnimator.ofInt(0, mProgressBar).setDuration(5000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { view.setProgress((int) valueAnimator.getAnimatedValue()); } }); animator.start(); } private void setTvAnimation(final TextView view, final int mProgressBar) { ValueAnimator animator = ValueAnimator.ofInt(0, mProgressBar).setDuration(5000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { view.setText(String.valueOf(valueAnimator.getAnimatedValue())); } }); animator.start(); } public void show(View view) { setAnimation(mProgressBar, 100); } public void tvshow(View view){ setTvAnimation(mtv_bar,240); } }
效果圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android ListView和ProgressBar(進(jìn)度條控件)的使用方法
- Android三種方式實(shí)現(xiàn)ProgressBar自定義圓形進(jìn)度條
- Android ProgressBar進(jìn)度條和ProgressDialog進(jìn)度框的展示DEMO
- Android ProgressBar進(jìn)度條使用詳解
- Android編程之ProgressBar圓形進(jìn)度條顏色設(shè)置方法
- Android之ProgressBar即時(shí)顯示下載進(jìn)度詳解
- Android編程實(shí)現(xiàn)自定義ProgressBar樣式示例(背景色及一級(jí)、二級(jí)進(jìn)度條顏色)
- Android ProgressBar直線進(jìn)度條的實(shí)例代碼
- Android編程實(shí)現(xiàn)類似于圓形ProgressBar的進(jìn)度條效果
- Android開發(fā)之ProgressBar字體隨著進(jìn)度條的加載而滾動(dòng)
相關(guān)文章
Android 中ViewPager重排序與更新實(shí)例詳解
這篇文章主要介紹了Android 中ViewPager重排序與更新實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07Android編程設(shè)置TextView顏色setTextColor用法實(shí)例
這篇文章主要介紹了Android編程設(shè)置TextView顏色setTextColor用法,結(jié)合實(shí)例形式分析了Android設(shè)置TextView顏色setTextColor、ColorStateList等方法的使用技巧與布局文件的設(shè)置方法,需要的朋友可以參考下2016-01-01使用ViewPager實(shí)現(xiàn)左右循環(huán)滑動(dòng)及滑動(dòng)跳轉(zhuǎn)
今天實(shí)現(xiàn)了左右滑動(dòng),至于在最后一頁(yè)滑動(dòng)跳轉(zhuǎn),這個(gè)也做了但是效果不是太好,也希望有實(shí)現(xiàn)的朋友能夠分享下2013-01-01Android中解決頁(yè)簽手指按下從左到右滑動(dòng)的bug
有一種方法可以阻止父層的View截獲touch事件,就是調(diào)用 getParent().requestDisallowInterceptTouchEvent(true);方法。這篇文章給大家介紹了Android中解決頁(yè)簽手指按下從左到右滑動(dòng)的bug,一起看看吧2016-10-10Android?nonTransitiveRClass資源沖突問(wèn)題淺析
這篇文章主要介紹了Android?nonTransitiveRClass資源沖突問(wèn)題,別搞錯(cuò)了,nonTransitiveRClass不能解決資源沖突,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12Android檢測(cè)Cursor泄漏的原理以及使用方法
本文介紹如何在 Android 檢測(cè) Cursor 泄漏的原理以及使用方法,還指出幾種常見(jiàn)的出錯(cuò)示例,同時(shí)該方法同樣適合于其他需要檢測(cè)資源泄露的情況,感興趣的朋友可以了解下2013-01-01Android引用開源框架通過(guò)AsyncHttpClient實(shí)現(xiàn)文件上傳
這篇文章主要介紹了Android引用開源框架通過(guò)AsyncHttpClient實(shí)現(xiàn)文件上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01