亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android自定義Dialog彈框和背景陰影顯示效果

2019-10-21 21:34:46
字體:
來源:轉載
供稿:網友

本文實例為大家分享了android自定義Dialog彈框和背景陰影顯示的具體代碼,供大家參考,具體內容如下

android,Dialog,彈框,背景陰影

首先需要自定義一個類,繼承Dialog

import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.WindowManager;import android.widget.Button;import android.widget.TextView;import com.zhiziyun.dmptest.bot.R;/** * Created by Administrator on 2018/1/31. */public class CustomDialog extends Dialog {  private Button yes, no;//確定按鈕  private TextView titleTv;//消息標題文本  private TextView messageTv;//消息提示文本  private String titleStr;//從外界設置的title文本  private String messageStr;//從外界設置的消息文本  //確定文本和取消文本的顯示內容  private String yesStr, noStr;  private onNoOnclickListener noOnclickListener;//取消按鈕被點擊了的監聽器  private onYesOnclickListener yesOnclickListener;//確定按鈕被點擊了的監聽器  /**   * 設置取消按鈕的顯示內容和監聽   *   * @param str   * @param onNoOnclickListener   */  public void setNoOnclickListener(String str, onNoOnclickListener onNoOnclickListener) {    if (str != null) {      noStr = str;    }    this.noOnclickListener = onNoOnclickListener;  }  /**   * 設置確定按鈕的顯示內容和監聽   *   * @param str   * @param onYesOnclickListener   */  public void setYesOnclickListener(String str, onYesOnclickListener onYesOnclickListener) {    if (str != null) {      yesStr = str;    }    this.yesOnclickListener = onYesOnclickListener;  }  public CustomDialog(Context context) {    super(context, R.style.Dialog_Msg);  }  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.dialog_custom);    //按空白處不能取消動畫    setCanceledOnTouchOutside(false);    //初始化界面控件    initView();    //初始化界面數據    initData();    //初始化界面控件的事件    initEvent();  }  /**   * 初始化界面的確定和取消監聽器   */  private void initEvent() {    //設置確定按鈕被點擊后,向外界提供監聽    yes.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        if (yesOnclickListener != null) {          yesOnclickListener.onYesClick();        }      }    });    no.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        if (noOnclickListener != null) {          noOnclickListener.onNoClick();        }      }    });  }  /**   * 初始化界面控件的顯示數據   */  private void initData() {    //如果用戶自定了title和message    if (titleStr != null) {      titleTv.setText(titleStr);    }    if (messageStr != null) {      messageTv.setText(messageStr);    }    //如果設置按鈕的文字    if (yesStr != null) {      yes.setText(yesStr);    }  }  /**   * 初始化界面控件   */  private void initView() {    yes = (Button) findViewById(R.id.yes);    no = (Button) findViewById(R.id.no);    titleTv = (TextView) findViewById(R.id.title);    messageTv = (TextView) findViewById(R.id.message);  }  /**   * 從外界Activity為Dialog設置標題   *   * @param title   */  public void setTitle(String title) {    titleStr = title;  }  /**   * 從外界Activity為Dialog設置dialog的message   *   * @param message   */  public void setMessage(String message) {    messageStr = message;  }  /**   * 設置確定按鈕和取消被點擊的接口   */  public interface onYesOnclickListener {    public void onYesClick();  }  public interface onNoOnclickListener {    public void onNoClick();  }  @Override  public void show() {    super.show();    /**     * 設置寬度全屏,要設置在show的后面     */    WindowManager.LayoutParams layoutParams = getWindow().getAttributes();    layoutParams.width= ViewGroup.LayoutParams.MATCH_PARENT;    layoutParams.height= ViewGroup.LayoutParams.MATCH_PARENT;    getWindow().getDecorView().setPadding(0, 0, 0, 0);    getWindow().setAttributes(layoutParams);  }}

這是實體類中的style:

<style name="custom_dialog_style" parent="android:Theme.Dialog">    <item name="android:windowFrame">@null</item>    <item name="android:windowIsFloating">true</item>    <item name="android:windowIsTranslucent">false</item>    <item name="android:windowNoTitle">true</item><!--除去title-->    <item name="android:backgroundDimEnabled">true</item><!--半透明-->    <item name="android:windowBackground">@color/transparent</item><!--除去背景色-->    <item name="android:radius">10dp</item></style>

其中@color/transparent是一個透明色

<color name="transparent">#00000000</color>

然后是布局

 

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#A5000000">  <LinearLayout    android:layout_width="260dp"    android:layout_height="wrap_content"    android:layout_centerInParent="true"    android:background="@drawable/shape_dialog_msg"    android:orientation="vertical">    <TextView      android:id="@+id/title"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_gravity="center"      android:layout_margin="15dp"      android:gravity="center"      android:text="消息提示"      android:textColor="@color/colorBlack"      android:textSize="@dimen/title_text_size" />    <TextView      android:id="@+id/message"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_gravity="center"      android:layout_marginLeft="@dimen/padding_left_right4"      android:layout_marginRight="@dimen/padding_left_right4"      android:text="提示消息"      android:textColor="@color/colorBlack"      android:textSize="@dimen/textsizi3" />    <View      android:layout_width="match_parent"      android:layout_height="1px"      android:layout_marginTop="15dp"      android:background="#E4E4E4" />    <LinearLayout      android:layout_width="match_parent"      android:layout_height="@dimen/buttom_height"      android:orientation="horizontal">      <Button        android:id="@+id/no"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1"        android:background="@null"        android:gravity="center"        android:singleLine="true"        android:text="取消"        android:textColor="@color/blue"        android:textSize="@dimen/textsizi3" />      <Button        android:id="@+id/yes"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_weight="1"        android:background="@null"        android:gravity="center"        android:singleLine="true"        android:text="確 定"        android:textColor="@color/red"        android:textSize="@dimen/textsizi3" />    </LinearLayout>  </LinearLayout></RelativeLayout>

下面是shape_dialog_msg的代碼

<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">  <item android:state_pressed="false">    <shape android:shape="rectangle" >      <!-- 填充的顏色 前兩位是透明度-->      <solid android:color="#f7f6f6"></solid>      <!-- 設置按鈕的四個角為弧形 -->      <!-- android:radius 弧形的半徑 -->      <corners android:radius="8dip" />      <!-- padding:Button里面的文字與Button邊界的間隔 -->      <padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp" />    </shape>  </item></selector>

準備工作都做好了,下面就是如何使用了

//點擊彈出對話框   final CustomDialog customDialog = new CustomDialog(getActivity());    customDialog.setTitle("消息提示");    customDialog.setMessage("是否暫停廣告投放?");    customDialog.setYesOnclickListener("確定", new CustomDialog.onYesOnclickListener() {       @Override       public void onYesClick() {       //這里是確定的邏輯代碼,別忘了點擊確定后關閉對話框       customDialog.dismiss();        }    }); customDialog.setNoOnclickListener("取消", new CustomDialog.onNoOnclickListener() {@Override   public void onNoClick() {      customDialog.dismiss();       }      }); customDialog.show();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩乱码在线视频| 国产成人一区二区在线| 亚洲高清不卡av| 亚州精品天堂中文字幕| 午夜精品久久久久久久男人的天堂| 欧美超级免费视 在线| 中文在线资源观看视频网站免费不卡| 日韩中文字幕网址| 国产综合在线看| 欧美日韩在线视频首页| 欧美福利视频网站| 午夜精品久久久久久久男人的天堂| 久久国产精品影片| 成人黄色短视频在线观看| 国产亚洲欧美日韩美女| 伦伦影院午夜日韩欧美限制| 中文字幕亚洲欧美一区二区三区| 黑人狂躁日本妞一区二区三区| 国产精品美女久久久久久免费| 91国产精品视频在线| 欧美性极品xxxx做受| 欧美大片第1页| 国产精品国产亚洲伊人久久| 日韩精品亚洲视频| 日本精品一区二区三区在线| 亚洲欧美一区二区三区久久| 中文字幕精品在线视频| 国产手机视频精品| 国产69久久精品成人看| 欧美电影在线观看| 欧美专区国产专区| 日韩高清电影好看的电视剧电影| 欧洲美女7788成人免费视频| 国产成人鲁鲁免费视频a| 精品国产乱码久久久久久虫虫漫画| 欧美高清视频一区二区| 亚洲国产精品女人久久久| 欧美最顶级丰满的aⅴ艳星| 国产精品日韩在线观看| 日韩中文字幕不卡视频| 精品国产一区av| 国产精品高清在线| 亚洲综合一区二区不卡| 久久99久久久久久久噜噜| 久久综合伊人77777尤物| 亚洲精品国产综合区久久久久久久| 国产精品久久久久久久久免费| 中文字幕亚洲欧美日韩高清| 中日韩美女免费视频网站在线观看| 亚洲国产欧美自拍| 亚洲精品福利在线| 久久久人成影片一区二区三区观看| 欧美性videos高清精品| 久久精品中文字幕一区| 亚洲免费成人av电影| 色狠狠av一区二区三区香蕉蜜桃| 亚洲视频综合网| 国产日韩欧美影视| 日韩激情av在线免费观看| 91国产视频在线| 亚洲欧美日韩在线高清直播| 国产狼人综合免费视频| 国产精品三级在线| 亚洲tv在线观看| 69影院欧美专区视频| 成人性生交大片免费看视频直播| 在线看日韩av| 国产精品免费视频xxxx| 日韩av免费观影| 亚洲精品视频免费| 亚洲国产精品久久| 国产精品久久久久久久久久久久久久| 精品久久久久久国产91| 91精品久久久久久久| 欧美猛交ⅹxxx乱大交视频| 国模精品视频一区二区| 国产精品久久999| 国产精品欧美激情| www日韩中文字幕在线看| 国内精品久久久久久影视8| 国产精品久久在线观看| 欧美日韩中文字幕在线视频| 亚洲xxxx18| 国产精品丝袜久久久久久不卡| 国产99视频精品免视看7| 久久免费精品日本久久中文字幕| 成人欧美一区二区三区黑人孕妇| 欧美一区二区.| 国产成人在线一区二区| 欧美激情二区三区| 九九热这里只有精品免费看| 色视频www在线播放国产成人| 日韩不卡中文字幕| 久久91精品国产| 欧美精品激情在线| 欧美另类精品xxxx孕妇| 一区二区亚洲精品国产| 国产在线播放不卡| 国产91成人在在线播放| 欧美一级免费视频| 国产精品福利无圣光在线一区| 日韩av理论片| 亚洲日本欧美日韩高观看| 久久久久久中文字幕| 国产成人黄色av| 亚洲级视频在线观看免费1级| 欧美成人午夜免费视在线看片| 日韩精品久久久久| 5278欧美一区二区三区| 久久精品成人一区二区三区| 成人免费视频网址| 中文字幕亚洲情99在线| 国产亚洲在线播放| 亚洲欧洲中文天堂| 国产一区二区精品丝袜| 亚洲色图50p| 日韩精品免费一线在线观看| 国产精品久久一| 久久综合久久八八| 久久97精品久久久久久久不卡| 欧美性猛交xxxx乱大交蜜桃| 精品日本美女福利在线观看| 欧美性高潮床叫视频| 日韩av第一页| 国产成人高潮免费观看精品| 一区二区三区在线播放欧美| 97视频在线观看播放| 久热精品视频在线观看| 国产精品女主播视频| 国外视频精品毛片| 亚洲成色777777女色窝| 亚洲欧美福利视频| 欧美大片第1页| 国产精品精品一区二区三区午夜版| 2019中文字幕全在线观看| 欧美成人精品在线观看| 日韩有码在线观看| 在线看日韩av| 欧美性猛交xxxxx水多| 色悠久久久久综合先锋影音下载| 大桥未久av一区二区三区| 91精品国产高清自在线看超| 国产精品www| 亚洲高清色综合| 91精品国产免费久久久久久| 成人免费网站在线看| 国产婷婷97碰碰久久人人蜜臀| 亚洲色图15p| 亚洲人成在线电影| 日韩高清不卡av| 国产精品久久久久久久久久久久久| 国内精品一区二区三区四区| 色综合91久久精品中文字幕| 久久99青青精品免费观看| 国产精品ⅴa在线观看h| 亚洲天堂av网| 中文字幕欧美视频在线| 亚洲欧美一区二区三区四区| 96sao精品视频在线观看| 97涩涩爰在线观看亚洲| 91a在线视频| 动漫精品一区二区| 亚洲a级在线观看| 久久久av一区|