如何从android ProgressDialog中删除标题和消息

时间:2012-11-10 08:49:32

标签: android progress-bar progressdialog

在Android中,我想在登录过程中使用自定义ProgressDialog框而不显示标题和消息。我无法让它发挥作用。

我希望它像下面的gif(没有标题或消息):

enter image description here

如何在我的代码中应用此功能?

我的代码(不起作用):

<Progressbar
android:id="@+id/progressBar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateDrawable="@drawable/progress_custom"
android:indeterminateOnly="false" />

这是我的progress_custom.xml

<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%"
    android:pivotY="50%" >

    <shape
        android:innerRadiusRatio="4"
        android:shape="ring"
        android:thicknessRatio="5.333"
        android:useLevel="false" >

        <size
            android:height="18dip"
            android:width="18dip" />

        <gradient
            android:centerColor="#886688cc"
            android:centerY="0.50"
            android:endColor="#ff6688cc"
            android:startColor="#006688cc"
            android:type="sweep"
            android:useLevel="false" />
    </shape>

</animated-rotate>

我想要它,以便在我登录时,此ProgressDialog显示。我正在使用它:

public class MainSerenaActivity extends Activity {
    EditText uname;
    EditText pass;
    EditText server;
    Button login;
    String strUname;
    String unamePass;
    String strPass;
    String strServer;
    String strServer_fn;
    String unamepass;
    String uPass;
    String encPass;
    TextView reg_txt;
    MyApplication app;
    String passwde;
    ProgressDialog pd;
    CheckBox servercheck_btn;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // getActionBar().setDisplayHomeAsUpEnabled(true);

        uname = (EditText) findViewById(R.id.user_edt_lg);
        pass = (EditText) findViewById(R.id.pass_edt_lg);
        server = (EditText) findViewById(R.id.server);
        login = (Button) findViewById(R.id.login);
        servercheck_btn = (CheckBox) findViewById(R.id.checkBox1);
         pd=(ProgressBar)findViewById(R.id.progressBar2);
        login.setOnClickListener(new View.OnClickListener() {

            @SuppressLint("ShowToast")
            public void onClick(View v) {
                strUname = uname.getText().toString().trim();
                strPass = pass.getText().toString().trim();

                MyApplication.setUserID(strUname);
                MyApplication.setPassWord(strPass);

                if (isInternetAvailable()) {
                    if ((uname.getText().toString()).equals("")
                            && (pass.getText().toString()).equals("")) {

                        Toast toast = Toast.makeText(MainSerenaActivity.this,
                                "please enter username & password ",
                                Toast.LENGTH_LONG);
                        toast.show();

                    } else {

                        MyThread t = new MyThread(MainSerenaActivity.this, 0);
                        pd=ProgressDialog.show(MainSerenaActivity.this, "", "");


                        t.start();
                        Toast.makeText(MainSerenaActivity.this,
                                "Successfully login", Toast.LENGTH_SHORT)
                                .show();
                        uname.setText("");
                        pass.setText("");
                        server.setText("");
                        servercheck_btn.setChecked(false);
                    }
                }

                else {
                    Toast toast = Toast
                            .makeText(
                                    MainSerenaActivity.this,
                                    "No internet available.Please turn on the internet",
                                    Toast.LENGTH_LONG);
                    toast.show();

                }

            }

        });

    }

    public boolean isInternetAvailable() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    class MyThread extends Thread {
        Context con;
        int but;
        Intent in;

        MyThread(Context con, int but) {
            this.con = con;
            this.but = but;
        }

        public void run() {
            try {
                switch (but) {
                case 0:
                    in = new Intent(MainSerenaActivity.this, Second_Btn.class);
                    if (servercheck_btn.isChecked()) {
                        if ((server.getText().toString()).equals("")) {
                            Toast toast = Toast.makeText(
                                    MainSerenaActivity.this,
                                    "please enter server ", Toast.LENGTH_SHORT);
                            toast.show();
                        } else {
                            strServer = server.getText().toString().trim();
                            strServer_fn = "https://" + strServer;
                            MyApplication.setServer(strServer_fn);
                        }
                    } else {
                        if ((server.getText().toString()).equals("")) {
                            strServer_fn = url;
                            MyApplication.setServer(strServer_fn);
                        } else {
                            strServer = server.getText().toString().trim();
                            strServer_fn = url;
                            MyApplication.setServer(strServer_fn);
                        }

                    }
                    startActivity(in);

                    break;

                }
            }

            catch (Exception e) {
            }

            pd.dismiss();

        }
    }

}

但是gif仍然会显示标题和消息。我只想要微调器,我该怎么做?

1 个答案:

答案 0 :(得分:2)

首先创建一个Activity indocator.Cate类的构造函数,如下所示。

public ActivityIndicator(Context context) {
    super(context, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activityindicator_dialog);

    setCancelable(true);

    RelativeLayout main = (RelativeLayout) findViewById(R.id.main);
    main.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));    
}

现在您想要设置进度对话框,然后输入以下代码。您将获得自定义的进度对话框。

private static ActivityIndicator activityIndicator;
public static void hideActivityViewer() {
    if (activityIndicator != null) {
        activityIndicator.dismiss();
    }
}

public static void showActivityViewer(Context context) {
    if (activityIndicator == null) {
        activityIndicator = new ActivityIndicator(context);
    }
    activityIndicator.show();
}

public static void clearDialogs() {
    activityIndicator = null;
}

活动指标的xml如下所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<RelativeLayout android:gravity="center"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:id="@+id/main" android:background="@drawable/overlay_bck">
    <TextView android:text="@string/loading"
        android:textSize="15sp" android:textColor="#FFFFFF" android:id="@+id/text"
        android:textStyle="bold" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:gravity="center_horizontal"></TextView>
    <ProgressBar android:id="@+id/progress" android:layout_below="@+id/text"
        style="@android:style/Widget.ProgressBar" android:layout_centerHorizontal="true"
        android:layout_width="wrap_content" android:layout_height="wrap_content" />
</RelativeLayout>

相关问题