如何根据android中的消息制作我的警报框

时间:2012-01-20 11:34:23

标签: android

如何制作警报框背景颜色,按钮尺寸信息将居中对齐,警告框大小。可以这样做。

请帮帮我

谢谢

1 个答案:

答案 0 :(得分:0)

确定。这是交易。我在下面的自定义Dialog布局中使用了一些drawable。所以你必须根据大小创建自己的Drawables。

我的 custom_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
         android:layout_margin="10dip" android:paddingBottom="10dip"
    android:layout_gravity="center_vertical" android:background="@drawable/custom_alert_bg">
    <RelativeLayout android:id="@+id/main_layout" android:padding="10dip"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
    >
        <ImageView android:background="@drawable/alert_dialog_icon" android:id="@+id/alert_icon"
            android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>

            <TextView android:id="@+id/alert_title"
            android:layout_marginLeft="15dip"
            android:layout_toRightOf="@+id/alert_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Alert Title"/>

    </RelativeLayout>
    <RelativeLayout android:id="@+id/seperator"
    android:layout_width="wrap_content"
    android:layout_below="@+id/main_layout"
    android:layout_height="wrap_content"
android:layout_margin="10dip"
    android:background="@drawable/line">
    </RelativeLayout>

    <RelativeLayout android:id="@+id/alert_description"
    android:layout_width="fill_parent"
    android:layout_height="70dip"
    android:padding="10dip"
    android:layout_below="@+id/seperator">

    <TextView android:id="@+id/alert_content_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="Alert Content"></TextView>

    </RelativeLayout>

    <Button android:id="@+id/alert_ok_button"
    android:layout_below="@+id/alert_description"
    android:layout_margin="10dip"
android:layout_centerHorizontal="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/alert_ok_button"
    android:gravity="center">
    </Button>

</RelativeLayout>

以下是将此布局用作自定义对话框的java方法

    public static void warningDialog(final Context context,String title,String message){
         dialog=new Dialog(context,android.R.style.Theme_Translucent_NoTitleBar);
        Window window = dialog.getWindow();
        window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
        window.setLayout(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); 
        dialog.setCancelable(true);

        dialog.setCanceledOnTouchOutside(true);
        dialog.setContentView(R.layout.custom_dialog);

    Button ok=(Button)dialog.findViewById(R.id.alert_ok_button);
    TextView alert_title=(TextView)dialog.findViewById(R.id.alert_title);
    TextView alert_content=(TextView)dialog.findViewById(R.id.alert_content_text);

    alert_title.setText(title);
    alert_title.setTextSize(22);
    alert_title.setTextColor(Color.WHITE);
    alert_content.setText(message);
    alert_content.setTextSize(18);
    alert_content.setTextColor(Color.WHITE);
    ok.setText("ok");
ok.setTextSize(20);
ok.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
    dialog.cancel();


    }
});
        dialog.show();
    }

就是这样。您的自定义对话框已准备就绪..,

现在在您的活动中调用此方法,

warningDialog(this,"Alert",msg);