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%后,进度条会有渐变消失的效果