res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:contentDescription=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button01"
        android:text="点击弹出对话框"/>
</LinearLayout>

res/layout/dlg_srx.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">

    <ProgressBar
        android:id="@+id/loading"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:indeterminateBehavior="repeat"
        android:indeterminateDrawable="@drawable/anim" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="5dp"
        android:text="加载中..." />
</LinearLayout>

 



MainActivity.java
Button mBtn = (Button)findViewById(R.id.button01);
        mBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
showMyDialog();
 } });
    private void showMyDialog(){
        /*AlertDialog dlg = new AlertDialog.Builder(MainActivity.this, R.style.testDlg).create();
        dlg.show();
        dlg.setCancelable(false);
        dlg.setContentView(R.layout.dlg_srx);*/ //this effect is ok.
        ProgressDialog dlg = new ProgressDialog(MainActivity.this,R.style.testDlg);
        dlg.show();
        dlg.setCancelable(false);
        dlg.setContentView(R.layout.dlg_srx);
        //dlg.show();//这句如果放后面达不到菊花效果
    }

 


 

res/drawable/loading.png //随便
res/drawable/anim.xml
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loading"
android:fromDegrees="0.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:toDegrees="360.0" />

res/values/styles.xml
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="testDlg" parent="android:Theme.Dialog"></style>
</resources>

如果想让内容显示完,上一级布局就要用wrap_content的方式

------------恢复内容开始------------

res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:contentDescription=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button01"
        android:text="点击弹出对话框"/>
</LinearLayout>

res/layout/dlg_srx.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">

    <ProgressBar
        android:id="@+id/loading"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:indeterminateBehavior="repeat"
        android:indeterminateDrawable="@drawable/anim" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="5dp"
        android:text="加载中..." />
</LinearLayout>

 



MainActivity.java
Button mBtn = (Button)findViewById(R.id.button01);
        mBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
showMyDialog();
 } });
    private void showMyDialog(){
        /*AlertDialog dlg = new AlertDialog.Builder(MainActivity.this, R.style.testDlg).create();
        dlg.show();
        dlg.setCancelable(false);
        dlg.setContentView(R.layout.dlg_srx);*/ //this effect is ok.
        ProgressDialog dlg = new ProgressDialog(MainActivity.this,R.style.testDlg);
        dlg.show();
        dlg.setCancelable(false);
        dlg.setContentView(R.layout.dlg_srx);
        //dlg.show();//这句如果放后面达不到菊花效果
    }

 


 

res/drawable/loading.png //随便
res/drawable/anim.xml
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loading"
android:fromDegrees="0.0"
android:pivotX="50.0%"
android:pivotY="50.0%"
android:toDegrees="360.0" />

res/values/styles.xml
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="testDlg" parent="android:Theme.Dialog"></style>
</resources>

如果想让内容显示完,上一级布局就要用wrap_content的方式

------------恢复内容结束------------

posted on 2020-08-31 14:16  snowdrop  阅读(189)  评论(0)    收藏  举报