自定义 dialog

来源:互联网 发布:云软件官方下载 编辑:程序博客网 时间:2024/05/18 02:41
<?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="wrap_content"    android:layout_gravity="center_horizontal|center_vertical"    android:orientation="vertical" >    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="20dip"        android:layout_marginRight="20dip"        android:background="@drawable/alert"        android:gravity="center_horizontal"        android:orientation="vertical" >        <TextView            android:id="@+id/dialog_title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginTop="17dip"            android:text="About to call 323"            android:textColor="#ffffff"            android:textSize="17sp"            android:textStyle="bold" />        <TextView            android:id="@+id/dialog_message"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="10dip"            android:gravity="center_horizontal"            android:text="Are you sure you want to proceed?"            android:textColor="#ffffff"            android:textSize="16sp" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_marginBottom="10dip"            android:layout_marginTop="10dip"            android:gravity="center_horizontal"            android:orientation="horizontal" >            <Button                android:id="@+id/cancel"                android:layout_width="0dip"                android:layout_height="40dip"                android:layout_gravity="left"                android:layout_marginLeft="10dip"                android:layout_weight="0.5"                android:background="@drawable/custom_button"                android:text="Cancel"                android:textColor="@android:color/white"                android:textStyle="bold" />            <Button                android:id="@+id/ok"                android:layout_width="0dip"                android:layout_height="40dip"                android:layout_marginBottom="10dip"                android:layout_marginRight="10dip"                android:layout_weight="0.5"                android:background="@drawable/custom_button"                android:text="OK"                android:textColor="@android:color/white"                android:textStyle="bold" />        </LinearLayout>    </LinearLayout></LinearLayout>



package com.jsu.whr.util;import android.app.Activity;import android.app.Dialog;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.widget.Button;import android.widget.TextView;import com.jsu.whr.weather.R;public class IphoneDialog {public static Dialog getTwoBtnDialog(Activity activity, String title,String msg) {final Dialog dialog = new Dialog(activity,android.R.style.Theme_Translucent_NoTitleBar);dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);dialog.setContentView(R.layout.r_okcanceldialogview);((TextView) dialog.findViewById(R.id.dialog_title)).setText(title);((TextView) dialog.findViewById(R.id.dialog_message)).setText(msg);((Button) dialog.findViewById(R.id.ok)).setText(android.R.string.ok);((Button) dialog.findViewById(R.id.cancel)).setText(android.R.string.cancel);((Button) dialog.findViewById(R.id.cancel)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// write your code to do things after users clicks// CANCELdialog.dismiss();}});return dialog;// ((Button) dialog.findViewById(R.id.ok))// .setOnClickListener(new OnClickListener() {//// @Override// public void onClick(View v) {// // write your code to do things after users clicks OK//// dialog.dismiss();// }// });// dialog.show();}/** * it will show the OK dialog like iphone, make sure no keyboard is visible *  * @param title *            title for dialog * @param msg *            msg for body */public static Dialog getOneBtnDialog(Activity activity, String title,String msg) {final Dialog dialog = new Dialog(activity,android.R.style.Theme_Translucent_NoTitleBar);dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);dialog.setContentView(R.layout.r_okdialogview);((TextView) dialog.findViewById(R.id.dialog_title)).setText(title);((TextView) dialog.findViewById(R.id.dialog_message)).setText(msg);return dialog;// ((Button) dialog.findViewById(R.id.ok)).setText("Ok");// ((Button) dialog.findViewById(R.id.ok))// .setOnClickListener(new OnClickListener() {// @Override// public void onClick(View v) {// // write your code to do things after users clicks OK// dialog.dismiss();// }// });// dialog.show();}}

    private void showLocationFailDialog() {        final Dialog dialog = IphoneDialog.getTwoBtnDialog(MainActivity.this,                "定位失败", "是否手动选择城市?");        ((Button) dialog.findViewById(R.id.ok))                .setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        startActivityForResult();                        dialog.dismiss();                    }                });        dialog.show();    }


0 0