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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android自定义Dialog及与Activity的交互

發布時間:2025/3/8 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android自定义Dialog及与Activity的交互 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個小項目,需要用到一個自定義的Dialog,Dialog中需要一個ImageView用于顯示表情圖片,一個TextView用來顯示提示文本,點擊任何地方關閉Dialog,同時關閉打開這個Dialog的Activity。
效果如下圖:

實現過程如下:
一、定義一個布局文件(dialog_custom.xml)
代碼如下:
———————————————————————————————

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/layout_dialog"android:layout_width="330dip"android:layout_height="150dip"android:background="@drawable/shape_conner_white_bg" android:orientation="horizontal"><ImageView android:id="@+id/im_toast_icon"android:layout_width="100dip" android:layout_height="100dip" android:background="@null" /> <TextView android:id="@+id/tv_toast_content" android:layout_width="180dip" android:layout_height="wrap_content" android:layout_marginTop="20dip" android:text="" android:textColor="#2f97e9" android:textSize="18sp" android:singleLine="false"android:gravity="center_vertical"/></LinearLayout>

———————————————————————————————

內容很簡單,就一個LinearLayout布局,里面有一個ImageView,一個TextView。
LinearLayout為了實現圓角矩形的效果,用了個shape背景。代碼如下(shape_conner_white_bg.xml):
———————————————————————————————

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="4dp" /> <solid android:color="@android:color/white" /></shape>

———————————————————————————————
二、自定義DialogUtils類,代碼如下:
———————————————————————————————

import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnDismissListener; import android.graphics.drawable.Drawable; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView;public class DialogUtils { private static TextView tipTextView; private static Dialog MyDialog;private static ImageView image_Icon;private static LinearLayout layout_dialog;//Dialog有三個參數,Contex不用多說,msg是提示文本,icon_draw是需要顯示的圖標。 public static void showCompleteDialog(final Context context,String msg,Drawable icon_draw){ LayoutInflater inflater = LayoutInflater.from(context); View v = inflater.inflate(R.layout.dialog_custom, null);// 得到加載viewtipTextView = (TextView) v.findViewById(R.id.tv_toast_content);// 提示文字 image_Icon=(ImageView)v.findViewById(R.id.im_toast_icon);//提示圖標tipTextView.setText(msg);// 設置加載信息 image_Icon.setImageDrawable(icon_draw);layout_dialog=(LinearLayout) v.findViewById(R.id.layout_dialog);layout_dialog.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){MyDialog.dismiss();}});MyDialog = new Dialog(context, R.style.MyDialogStyle);// 創建自定義樣式dialogMyDialog.setCancelable(true); // 按“返回鍵”可以關閉Dialog MyDialog.setCanceledOnTouchOutside(true); // 點擊加載框以外的區域可以關閉Dialog //定義MyDialog關閉時同時關閉ActivityMyDialog.setOnDismissListener(new OnDismissListener() {@Overridepublic void onDismiss(DialogInterface dialog) {//MyDialog.getOwnerActivity().finish();Activity act=(Activity)context;act.finish();MyDialog.dismiss();}});MyDialog.setContentView(v, new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));// 設置布局 /** *將顯示Dialog的方法封裝在這里面 */ Window window = MyDialog.getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.width = 900; lp.height = 360; lp.y=-150; window.setGravity(Gravity.CENTER_HORIZONTAL); window.setAttributes(lp); MyDialog.show(); }}

其中MyDialogStyle是在res/values/style中定義的:

<style name="MyDialogStyle"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>

———————————————————————————————
這樣就OK了,在需要打開Dialog的地方添加以下代碼就行了:
DialogUtils.showCompleteDialog(getContext(),"不好意思,你輸給了手機AI!",getResources().getDrawable(R.drawable.lost));

轉載于:https://blog.51cto.com/6273125/2374975

總結

以上是生活随笔為你收集整理的Android自定义Dialog及与Activity的交互的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产免费一区二区三区三州老师 | 高潮白浆女日韩av免费看 | 91久久精品国产91久久 | 欧美日韩一区二区在线观看视频 | 篠田优在线观看 | 国产91免费在线观看 | 欧美特级黄色大片 | 日韩毛片无码永久免费看 | 欧美性猛交xx | 国产一级免费av | 免费99视频 | 欧美日韩国产在线观看 | 久久综合在线 | 黑森林av凹凸导航 | 国产又黄又粗又猛又爽 | 国产精品大屁股白浆一区 | 糖心vlog精品一区二区 | 一区二区三区久久久 | 操mm影院| japanese强行粗暴 | 91影视在线观看 | 久操成人| 高潮一区二区三区 | 欧美日韩中文字幕 | 色婷婷一区| 亚洲一级二级三级 | 蜜臀av一区二区三区有限公司 | 天天干精品 | aaaa一级片 | 息与子五十路翔田千里 | 国产又粗又黄又爽视频 | 亚洲第七页 | 亚洲女同一区二区 | 久久亚洲国产精品 | 黑人日批视频 | 国色天香av| 午夜影院18 | 免费看裸体网站 | 日韩精品在线一区 | 亚洲九九视频 | 先锋资源一区二区 | 色乱码一区二区三在线看 | 亚洲jlzzjizz少妇 | 韩国女主播av | 国产乡下妇女做爰毛片 | 日韩毛片一级 | 亚洲欧美国产高清 | 精品久久久无码中文字幕 | 久久久精品999 | 久久精品国产77777蜜臀 | 人人狠狠综合久久亚洲 | 午夜福利毛片 | 国产黄大片 | 日本二三区 | 日韩资源站 | 日韩久久久久久久久久 | 极品白嫩丰满少妇无套 | 日韩欧美在线视频播放 | caoporn成人 | 亚洲欧美一区二区视频 | 欧美高清在线观看 | 色多多污污 | 99自拍偷拍视频 | 亚洲 欧美 视频 | 椎名由奈av一区二区三区 | 免费看的黄色 | 欧美专区亚洲专区 | 高潮白浆| 国产午夜福利精品 | 任你操精品视频 | 国产美女明星三级做爰 | 一级免费av| 高潮网 | 91影院在线播放 | 99在线免费 | 爱爱爱免费视频 | 真实乱偷全部视频 | 波多野结衣视频在线看 | 久久99在线| 中国女人裸体乱淫 | 国产免费自拍视频 | 日韩理论片在线观看 | 亚洲久久成人 | 黄色片网站在线看 | japanese21ⅹxx日本| 神马午夜伦理影院 | 97人人爽人人爽人人爽 | 91久久免费 | 国产露脸无套对白在线播放 | 亚洲中字| 本道综合精品 | 国产熟女一区二区三区五月婷 | 一区在线播放 | 韩国美女视频在线观看18 | 国产乱国产乱300精品 | 黄色片链接 | 波多野结衣视频免费观看 | 狠狠插影院 | 91天天操 |