转自:http://blog.sina.com.cn/s/blog_8f5097be01011dib.html
在新浪微博Android客户端的开发的课程中呢要用的得自定义的Dialog,这个Dialog个人觉得还不错,所以就那处理来分享了。
首先呢,还是让我们先来看效果图,正所谓有图有真相:下面我们看看是怎么来实现的:
第一步:在res/layout目录下新创建一个布局文件:
authorize_dialog.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:orientation="vertical"
- android:padding="15dip">
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal">
-
- <ImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/info"
- android:layout_marginLeft="10dip"
- android:layout_marginTop="3dip"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="信息提示"
- android:textSize="13px"
- android:textColor="#219ac6"
- android:layout_marginLeft="5dip"/>
- </LinearLayout>
-
- <TextView
- android:id="@+id/text_info"
- android:layout_marginTop="6px"
- android:layout_width="200px"
- android:layout_height="wrap_content"
- android:textColor="#686767"
- android:textSize="12px"
- android:layout_marginLeft="10dip"
- android:text="第一次使用需要输入您的新浪微博账号和密码进行登录授权"/>
-
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="40px">
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_centerHorizontal="true"
- android:layout_alignParentBottom="true">
-
- <Button
- android:id="@+id/btn_start"
- android:layout_width="83px"
- android:layout_height="38px"
- android:background="@drawable/btn_begin_d"/>
-
- </LinearLayout>
- </RelativeLayout>
-
- </LinearLayout>
第二步:在res/values文件夹下创建一个Style文件:
authorize_dialog_style.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <style name="dialog" parent="@android:style/Theme.Dialog">
- <item name="android:windowFrame">@null</item><!--Dialog的windowFrame框为无 -->
- <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上 -->
- <item name="android:windowIsTranslucent">false</item> <!-- 是否半透明 -->
- <item name="android:windowNoTitle">true</item>
- <item name="android:windowBackground">@drawable/dia_bg</item>
- <item name="android:backgroundDimEnabled">false</item>
- </style>
- </resources>
通过以上两步,我们就完成了一个Android中的漂亮Dialog啦,那下面我们再来看看这个漂亮Dialog是如何使用的
第三步:创建一个Activity,在Activity中的onCreate 方法中加入一下代码:
- View diaView=View.inflate(this, R.layout.dialog, null);
-
- dialog=new Dialog(AuthorizeActivity.this,R.style.dialog);
- dialog.setContentView(diaView);
- dialog.show();