最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android自定義AlertDialog對話框

 更新時間:2017年01月17日 11:40:43   作者:愛dy  
這篇文章主要為大家詳細介紹了android自定義AlertDialog的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前面一篇文章http://m.fzitv.net/article/103036.htm介紹了alertDialog的四種簡單使用,但是有些時候為了讓整個app的風(fēng)格統(tǒng)一,或者說前面的四種形式不符合項目中的需求,這個時候就需要我們自定義alertDialog了。直接上代碼

CustomAlertDialog:

import android.app.Dialog; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
 
/** 
 * Created by yk on 2017/1/17. 
 */ 
 
public class CustomAlertDialog extends Dialog implements View.OnClickListener { 
 
 
 
 public interface OnDialogButtonClickListener { 
  /** 
   * 點擊按鈕的回調(diào)方法 
   * 
   * @param requestCode 
   * @param isPositive 
   */ 
  void onDialogButtonClick(int requestCode, boolean isPositive); 
 } 
 
 private Context context; 
 private String title; 
 private String message; 
 private String strPositive; 
 private String strNegative; 
 private int requestCode; 
 private OnDialogButtonClickListener listener; 
 
 public CustomAlertDialog(Context context, String title, String message, int requestCode, 
        OnDialogButtonClickListener listener) { 
  super(context, R.style.MyDialog); 
  this.context=context; 
  this.title=title; 
  this.message=message; 
  this.requestCode=requestCode; 
  this.listener=listener; 
 
 } 
 
 private TextView tvTitle; 
 private TextView tvMessage; 
 private Button btnPositive; 
 private Button btnNegative; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.alert_dialog); 
//  setCancelable(false);//設(shè)置點擊對話框外部和按返回鍵都不可以取消 
//  setCanceledOnTouchOutside(false);//設(shè)置點擊對話框外部是否可以取消,默認是不可以取消(但是點返回鍵可以取消) 
 
  tvTitle = (TextView) findViewById(R.id.tvAlertDialogTitle); 
  tvMessage = (TextView) findViewById(R.id.tvAlertDialogMessage); 
  btnPositive = (Button) findViewById(R.id.btnAlertDialogPositive); 
  btnNegative = (Button) findViewById(R.id.btnAlertDialogNegative); 
 
  tvTitle.setText(title); 
  tvMessage.setText(message); 
 
  btnPositive.setOnClickListener(this); 
  btnNegative.setOnClickListener(this); 
 } 
 
 @Override 
 public void onClick(View view) { 
  switch (view.getId()){ 
   case R.id.btnAlertDialogPositive: 
    //確定按鈕 
    listener.onDialogButtonClick(requestCode,true); 
    break; 
   case R.id.btnAlertDialogNegative: 
    //取消按鈕 
    listener.onDialogButtonClick(requestCode,false); 
    break; 
  } 
  dismiss(); 
 } 
} 

 MainActivity:

package com.example.yk.dialogtest; 
 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.Toast; 
 
public class CustomDialogActivity extends AppCompatActivity implements CustomAlertDialog.OnDialogButtonClickListener { 
 
 private static final int REQUEST_CODE_FIRST = 1; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_custom_dialog); 
  CustomAlertDialog alertDialog=new CustomAlertDialog(this,"title","message",REQUEST_CODE_FIRST,this); 
  alertDialog.show(); 
 
 } 
 
 @Override 
 public void onDialogButtonClick(int requestCode, boolean isPositive) { 
  if(requestCode==REQUEST_CODE_FIRST && isPositive){ 
   Toast.makeText(this, "點擊了確定", Toast.LENGTH_SHORT).show(); 
  } else if (requestCode==REQUEST_CODE_FIRST && !isPositive) { 
   Toast.makeText(this, "點擊了取消", Toast.LENGTH_SHORT).show(); 
  } 
 } 
} 

實現(xiàn)的效果:

如果我們需要自定義“確定”和“取消”按鈕所顯示的字,可以再寫一個構(gòu)造方法,比如:

public AlertDialog(Context context, String title, String message,String strPositive, String strNegative, int requestCode, OnDialogButtonClickListener listener) { 
  super(context, R.style.MyDialog); 
 
  this.context = context; 
  this.title = title; 
  this.message = message; 
  this.strPositive = strPositive; 
  this.strNegative = strNegative; 
  this.requestCode = requestCode; 
  this.listener = listener;  
 } 
if(!TextUtils.isEmpty(strPositive)){ 
   btnPositive.setText(strPositive); 
  } 
  if(!TextUtils.isEmpty(strNegative)){ 
   btnNegative.setText(strNegative); 
  } 

實現(xiàn)的效果:


源碼(包括上篇文章中四種簡單alertDialog的使用):http://xiazai.jb51.net/201701/yuanma/androidAlertDialog(jb51.net).rar

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • android命令行模擬輸入事件(文字、按鍵、觸摸等)

    android命令行模擬輸入事件(文字、按鍵、觸摸等)

    這篇文章主要給大家介紹了關(guān)于android命令行模擬輸入事件,例如文字、按鍵、觸摸等的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Mac OS下為Android Studio編譯FFmpeg解碼庫的詳細教程

    Mac OS下為Android Studio編譯FFmpeg解碼庫的詳細教程

    這篇文章主要介紹了Mac OS下為Android Studio編譯FFmpeg解碼庫的詳細教程,包括NDK的配置和Android Studio的配置兩個部分的內(nèi)容,需要的朋友可以參考下
    2016-01-01
  • Android編程實現(xiàn)基于局域網(wǎng)udp廣播自動建立socket連接的方法

    Android編程實現(xiàn)基于局域網(wǎng)udp廣播自動建立socket連接的方法

    這篇文章主要介紹了Android編程實現(xiàn)基于局域網(wǎng)udp廣播自動建立socket連接的方法,涉及Android使用udp廣播實現(xiàn)socket通訊的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Android?kotlin?跳轉(zhuǎn)手機熱點開關(guān)頁面和判斷熱點是否打開(親測可用)

    Android?kotlin?跳轉(zhuǎn)手機熱點開關(guān)頁面和判斷熱點是否打開(親測可用)

    跳轉(zhuǎn)手機熱點的頁面肯定是用intent,重點是action不知道是什么,網(wǎng)上最常見的就是Settings.ACTION_WIFI_SETTINGS 跳轉(zhuǎn)wifi設(shè)置頁面,本文介紹Android?kotlin?跳轉(zhuǎn)手機熱點開關(guān)頁面和判斷熱點是否打開,感興趣的朋友一起看看吧
    2023-08-08
  • Kotlin?launch原理全面分析

    Kotlin?launch原理全面分析

    在Android開發(fā)中,launch是我們經(jīng)常用的,今天來看看它是什么原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-11-11
  • AndroidStudio中重載方法@Override的使用詳解

    AndroidStudio中重載方法@Override的使用詳解

    這篇文章主要介紹了AndroidStudio中重載方法@Override的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Android導(dǎo)航欄功能項的顯示與屏蔽介紹

    Android導(dǎo)航欄功能項的顯示與屏蔽介紹

    大家好,本篇文章主要講的是Android導(dǎo)航欄功能項的顯示與屏蔽介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 簡單好用的PHP分頁類

    簡單好用的PHP分頁類

    這篇文章主要為大家分享了一款簡單好用的PHP分頁類page.class.php,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android觸屏事件和MotionEvent詳解

    Android觸屏事件和MotionEvent詳解

    這篇文章主要介紹了Android觸屏事件和MotionEvent詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 基于Android studio3.6的JNI教程之helloworld思路詳解

    基于Android studio3.6的JNI教程之helloworld思路詳解

    這篇文章主要介紹了基于Android studio3.6的JNI教程之helloworld,本文通過圖文實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論

柞水县| 竹山县| 六枝特区| 吉林市| 朝阳市| 错那县| 荔波县| 景东| 仁化县| 随州市| 宿松县| 巴林左旗| 调兵山市| 南丹县| 壤塘县| 黄大仙区| 铜鼓县| 揭西县| 峨眉山市| 南江县| 康乐县| 巴林右旗| 永济市| 绍兴市| 日喀则市| 商丘市| 利川市| 浦东新区| 襄樊市| 卓尼县| 石林| 奇台县| 景东| 游戏| 苏尼特右旗| 甘德县| 孟连| 汝阳县| 依安县| 都匀市| 五常市|