<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical|center_horizontal" android:background="@drawable/dialog_bg"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="30dip" android:paddingTop="10dip"> <ImageView android:id="@+id/dialog_title_image" android:layout_alignParentLeft="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/dialog_title_image"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:layout_centerInParent="true" android:text="Title" android:layout_toRightOf="@id/dialog_title_image" android:textColor="#000000" android:textSize="30sp"/> </RelativeLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dip" android:background="@drawable/lins" android:layout_marginTop="5dip"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="This is a custom dialog" android:textColor="#000000" android:layout_marginTop="10dip" android:layout_marginLeft="30dip"/> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="10dip" android:gravity="bottom|center_horizontal" android:paddingBottom="10dip"> <Button android:id="@+id/dialog_button_cancel" android:layout_alignParentLeft="true" android:layout_width="100dip" android:layout_height="wrap_content" android:text="确定"/> <Button android:id="@+id/dialog_button_ok" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_toRightOf="@id/dialog_button_cancel" android:layout_marginLeft="35dip" android:text="取消"/> </RelativeLayout> </LinearLayout>
这是sms_dialog.xml
package com.sms.activity; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.os.Bundle; public class smsDialog extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.sms_dialog); } }
自定义style
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="smsDialog" parent="@android:Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@drawable/dialog_bg</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style> </resources>
这是smsDialogStyle
然后在AndroidManifest.xml里面写下如下代码
<activity android:name=".smsDialog" android:theme="@style/smsDialog" > </activity>
下面是调用方法
Intent smsdialog = new Intent(context, smsDialog.class); smsdialog.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(smsdialog);
这是在BroadcastReceiver里面调用的 因为dialog必须依附在Activity'里面 所以在BroadcastReceiver里面不能用dialog.show 必须自定义Activity才行
图片用的一个哥们的 代码也参考了他的 他的博客忘记地址了 请原谅!