当前位置: 代码迷 >> Android >> 2013.12.03(四) ——— android ActionbarSherlockSample之Progress
  详细解决方案

2013.12.03(四) ——— android ActionbarSherlockSample之Progress

热度:85   发布时间:2016-04-28 07:13:05.0
2013.12.03(4) ——— android ActionbarSherlockSample之Progress
2013.12.03(4) ——— android ActionbarSherlockSample之Progress

/* * Copyright (C) 2011 Jake Wharton * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.actionbarsherlock.sample.demos;import android.os.Bundle;import android.os.Handler;import android.view.View;import com.actionbarsherlock.app.SherlockActivity;import com.actionbarsherlock.view.Window;public class Progress extends SherlockActivity  {    Handler mHandler = new Handler();    Runnable mProgressRunner = new Runnable() {        @Override        public void run() {            mProgress += 2;            //Normalize our progress along the progress bar's scale            int progress = (Window.PROGRESS_END - Window.PROGRESS_START) / 100 * mProgress;            setSupportProgress(progress);            if (mProgress < 100) {                mHandler.postDelayed(mProgressRunner, 50);            }        }    };    private int mProgress = 100;    @Override    protected void onCreate(Bundle savedInstanceState) {        setTheme(SampleList.THEME); //Used for theme switching in samples        super.onCreate(savedInstanceState);        //This has to be called before setContentView and you must use the        //class in com.actionbarsherlock.view and NOT android.view        requestWindowFeature(Window.FEATURE_PROGRESS);        setContentView(R.layout.progress);        findViewById(R.id.go).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View arg0) {                if (mProgress == 100) {                    mProgress = 0;                    mProgressRunner.run();                }            }        });    }}



注意

requestWindowFeature(Window.FEATURE_PROGRESS);


这个Window是actionbarsherlock带的 不是系统的

计算进度

int progress = (Window.PROGRESS_END - Window.PROGRESS_START) / 100 * mProgress;setSupportProgress(progress);


加载到100%后,进度条会有渐变消失的效果
  相关解决方案