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的方式
------------恢复内容结束------------
浙公网安备 33010602011771号