读书人

仿QQ登记圆形进度对话框.

发布时间: 2012-12-26 14:39:28 作者: rapoo

仿QQ注册圆形进度对话框...

1、styles.xml

     <style name="dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowIsFloating">true</item>        <!-- 设置未浮动窗口 -->        <item name="android:windowFrame">@null</item>        <!-- 设置无边框 -->        <item name="android:windowNoTitle">true</item>        <!-- 设置无标题 -->        <item name="android:windowBackground">@color/sc_transparent</item>        <!-- 设置完全透明 -->        <item name="android:backgroundDimEnabled">true</item>        <!-- 设置屏幕变暗 -->    </style>


<color name="sc_transparent">#00ffffff</color>


2.dialog_layout.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"    android:orientation="vertical"     android:gravity="center_horizontal"    android:background="@drawable/shape_dialog"    android:paddingTop="15dp"    android:paddingBottom="15dp"    android:paddingLeft="30dp"    android:paddingRight="30dp">          <ProgressBar          android:layout_width="wrap_content"         android:layout_height="wrap_content"            android:indeterminateDrawable="@drawable/progressbar"/>           <TextView             android:id="@+id/tvLoad"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:paddingTop="5dp"             android:textSize="20.0sp"             android:textColor="#ffffffff" />    </LinearLayout>


drawable中shape_dialog.xml

<?xml version="1.0" encoding="utf-8"?><shape android:shape="rectangle"  xmlns:android="http://schemas.android.com/apk/res/android">    <corners android:radius="8.0dip"/>    <solid android:color="#ff333333"/></shape>


progressbar.xml

<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android"        android:pivotX="50%" android:pivotY="50%"        android:fromDegrees="0" android:toDegrees="360">    <shape        android:shape="ring"        android:innerRadiusRatio="3"        android:thicknessRatio="8"        android:useLevel="false">    <gradient                android:type="sweep"                android:useLevel="false"                android:startColor="#ffffffff"                android:centerColor="#ff808080"                   android:centerY="0.45"                android:endColor="#ff000000"/>    </shape></rotate> 


方法:

public static Dialog creatRequestDialog(final Context context, String tip) {final Dialog dialog = new Dialog(context, R.style.dialog);dialog.setContentView(R.layout.dialog_layout);Window window = dialog.getWindow();WindowManager.LayoutParams lp = window.getAttributes();int width = CommonUtils.getScreenWidth(context);//lp.width = (int) (0.6 * width);TextView titleTxtv = (TextView) dialog.findViewById(R.id.tvLoad);titleTxtv.setText(tip);return dialog;}

效果图:
仿QQ登记圆形进度对话框.

读书人网 >移动开发

热点推荐