日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android+自定义alertdialog,安卓自定义AlertDialog

發(fā)布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android+自定义alertdialog,安卓自定义AlertDialog 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

AlertDialog.png

使用方法 example:

DialogUtil.showAlertDialog(getActivity(), R.mipmap.restart, "退出提示", "你確定要退出嗎?"),

"確定", "取消", true, new DialogUtil.AlertDialogBtnClickListener() {

@Override

public void clickPositive() {

//positive

}

@Override

public void clickNegative() {

//negative

}

});

工具類主要代碼

public class DialogUtil {

private static AlertDialog dialog;

/**

* @param activity Context

* @param iconRes 提示圖標(biāo)

* @param title 提示標(biāo)題

* @param msg 提示內(nèi)容

* @param positiveText 確認(rèn)

* @param negativeText 取消

* @param cancelableTouchOut 點擊外部是否隱藏提示框

* @param alertDialogBtnClickListener 點擊監(jiān)聽

*/

public static void showAlertDialog(Activity activity, int iconRes, String title, String msg,

String positiveText, String negativeText, boolean

cancelableTouchOut, final AlertDialogBtnClickListener

alertDialogBtnClickListener) {

View view = LayoutInflater.from(activity).inflate(R.layout.custom_dialog_layout, null);

ImageView mIcon = view.findViewById(R.id.icon);

TextView mTitle = view.findViewById(R.id.title);

TextView mMessage = view.findViewById(R.id.message);

Button positiveButton = view.findViewById(R.id.positiveButton);

Button negativeButton = view.findViewById(R.id.negativeButton);

mIcon.setImageResource(iconRes);

mTitle.setText(title);

mMessage.setText(msg);

positiveButton.setText(positiveText);

negativeButton.setText(negativeText);

positiveButton.setOnClickListener(v -> {

alertDialogBtnClickListener.clickPositive();

dialog.dismiss();

});

negativeButton.setOnClickListener(v -> {

alertDialogBtnClickListener.clickNegative();

dialog.dismiss();

});

AlertDialog.Builder builder = new AlertDialog.Builder(activity);

builder.setView(view);

builder.setCancelable(true); //返回鍵dismiss

//創(chuàng)建對話框

dialog = builder.create();

dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);//去掉圓角背景背后的棱角

dialog.setCanceledOnTouchOutside(cancelableTouchOut); //失去焦點dismiss

dialog.show();

}

public interface AlertDialogBtnClickListener {

void clickPositive();

void clickNegative();

}

}

下面是布局文件 custom_dialog_layout.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@null"

android:gravity="center"

android:orientation="vertical">

android:layout_width="280dp"

android:layout_height="wrap_content"

android:orientation="vertical"

tools:ignore="UselessParent">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@drawable/custom_dialog_title"

android:gravity="center"

android:minWidth="210dp"

android:orientation="horizontal"

android:paddingBottom="15dp"

android:paddingTop="15dp">

android:id="@+id/icon"

android:layout_width="20dp"

android:layout_height="20dp"

android:layout_gravity="center_vertical"

android:src="@mipmap/icon"/>

android:id="@+id/title"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:layout_marginLeft="8dip"

android:layout_marginStart="8dip"

android:text="@string/offlineNotifaction"

android:textColor="@color/colorLightBlack"

android:textSize="16sp"/>

android:id="@+id/content"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@drawable/custom_dialog_content"

android:gravity="center"

android:minHeight="80dip"

android:minWidth="210dp"

android:orientation="vertical">

android:id="@+id/message"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dip"

android:layout_marginStart="10dip"

android:clickable="true"

android:focusable="true"

android:paddingBottom="10dp"

android:paddingTop="10dp"

android:textSize="16sp"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@drawable/custom_dialog_button"

android:minWidth="210dp"

android:orientation="horizontal"

android:padding="12dp">

android:id="@+id/positiveButton"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_marginEnd="3dp"

android:layout_marginRight="3dp"

android:layout_weight="1"

android:background="@drawable/custom_dialog_negative"

android:text="@string/sure"

android:textAllCaps="false"

android:textColor="@android:color/white"/>

android:id="@+id/negativeButton"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_marginLeft="3dp"

android:layout_marginStart="3dp"

android:layout_weight="1"

android:background="@drawable/custom_dialog_positive"

android:text="@string/cancel"

android:textAllCaps="false"

android:textColor="@android:color/white"/>

提示框上部分背景 custom_dialog_title

android:shape="rectangle">

android:topLeftRadius="7dp"

android:topRightRadius="7dp"/>

提示框中部分背景 custom_dialog_content

android:shape="rectangle">

android:color="#f5f5f5"/>

android:width=".4dp"

android:color="#848484"/>

提示框下部分背景 custom_dialog_button

android:shape="rectangle">

android:bottomLeftRadius="7dp"

android:bottomRightRadius="7dp"/>

確定按鈕樣式 custom_dialog_negative

取消按鈕樣式 custom_dialog_positive

總結(jié)

以上是生活随笔為你收集整理的android+自定义alertdialog,安卓自定义AlertDialog的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。