android Activity 变为Dialog的方法

android Activity 变成Dialog的方法
<?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才行

图片用的一个哥们的  代码也参考了他的  他的博客忘记地址了 请原谅!