Android 利用代码在屏幕中间位置显示ProgressDialog和ProgressBar

package cc.testprogressdialog;

import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
/**
 * Demo描述:
 * 利用代码在屏幕中间位置显示ProgressDialog和ProgressBar
 * 
 * 参考资料:
 * 1 http://blog.csdn.net/lfdfhl/article/details/18913435
 * 2 http://blog.csdn.net/lfdfhl/article/details/9299075
 * 3 http://rocye.iteye.com/blog/1258936
 *   Thank you very much
 *   
 * 如果在某个线性布局中动态添加一个控件,并且想让该控件在布局中居中.
 * 也可采用createProgressBar()方法中类似的方式
 *
 */
public class MainActivity extends Activity {
    private Context mContext;
    private ProgressBar mProgressBar;
    private ProgressDialog mProgressDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //显示ProgressBar
        createProgressBar();
        //显示ProgressDialog
        //createProgressDialog();
    }
    
    private void createProgressBar(){
        mContext=this;
        //整个Activity布局的最终父布局,参见参考资料
        FrameLayout rootFrameLayout=(FrameLayout) findViewById(android.R.id.content);
        FrameLayout.LayoutParams layoutParams=
        new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        layoutParams.gravity=Gravity.CENTER;
        mProgressBar=new ProgressBar(mContext);
        mProgressBar.setLayoutParams(layoutParams);
        mProgressBar.setVisibility(View.VISIBLE);
        rootFrameLayout.addView(mProgressBar);
    }
    
    
    private void createProgressDialog(){
        mContext=this;
        mProgressDialog=new ProgressDialog(mContext);
        mProgressDialog.setMessage("...请您稍等...");
        mProgressDialog.show();
    }

}

 

posted @ 2017-06-08 21:58  星辰之力  阅读(...)  评论(...编辑  收藏