Android自定義簡易確認取消Dialog

jopen 9年前發布 | 29K 次閱讀 Android Android開發 移動開發

轉載請注明:http://blog.csdn.net/u012975705/article/details/49530733

SimpleConfirmDialog.java

public class SimpleConfirmDialog extends Dialog implements View.OnClickListener {

//提示語
private TextView mSlogan;
//取消按鈕
private Button mCancel;
//確認按鈕
private Button mConfirm;

// private MyCollectionActivity mActivity; private OnConfirmListener mListener;

public SimpleConfirmDialog(Context context) {
    super(context, R.style.Theme_Light_FullScreenDialogAct);
    setContentView(R.layout.dialog_simple_confirm);

    initView();
    initData();
    initEvent();
}

@Override
public void show() {
    super.show();

// WindowManager m = mActivity.getWindowManager(); // Display d = m.getDefaultDisplay(); // 獲取屏幕寬、高用 // WindowManager.LayoutParams p = getWindow().getAttributes(); // 獲取對話框當前的參數值 // p.height = 270; // p.width = 140; // getWindow().setAttributes(p); }

/**
 * 初始化視圖
 */
private void initView() {
    mSlogan = (TextView) findViewById(R.id.simple_dialog_slogan);
    mCancel = (Button) findViewById(R.id.simple_dialog_cancel);
    mConfirm = (Button) findViewById(R.id.simple_dialog_confirm);
}

/**
 * 初始化控件、數據
 */
private void initData() {

}

/**
 * 初始化事件
 */
private void initEvent() {
    mCancel.setOnClickListener(this);
    mConfirm.setOnClickListener(this);
}

public void setClickListener(String slogan, OnConfirmListener mListener) {
    mSlogan.setText(slogan);
    this.mListener = mListener;
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.simple_dialog_cancel:
            cancel();
            break;
        case R.id.simple_dialog_confirm:
            mListener.onConfirm();
            break;
        default:
            break;
    }
}

public interface OnConfirmListener {
    void onConfirm();
}

}</pre>

style:

<style name="BaseDialog" parent="@android:style/Theme.Dialog" />

<style name="Theme.Light.FullScreenDialogAct" parent="@style/BaseDialog">
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:textSize">16.0sp</item>
    <item name="android:textColor">#ff555555</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowSoftInputMode">adjustPan</item>
</style></pre><br />

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="20dp">

    <TextView
        android:id="@+id/simple_dialog_slogan"
        style="@style/TextTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="提示語" />
</LinearLayout>

<View
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:background="@color/background"
    android:layout_width="match_parent"
    android:layout_height="1dp"/>

<LinearLayout
    android:padding="20dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_marginRight="5dp"
        android:gravity="center"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <Button
            style="@style/TextNormal"
            android:text="取消"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:id="@+id/simple_dialog_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bg_dialog_button_cancel" />
    </LinearLayout>

    <LinearLayout
        android:layout_marginLeft="5dp"
        android:gravity="center"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <Button
            android:textColor="@color/white"
            style="@style/TextTitle"
            android:text="確定"
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:id="@+id/simple_dialog_confirm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/bg_dialog_button_confirm" />
    </LinearLayout>
</LinearLayout>

</LinearLayout></pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!