1. 程式人生 > >Android打造萬能的對話方塊Dialog(二)

Android打造萬能的對話方塊Dialog(二)

打造萬能的對話方塊Dialog(二)

不要問我為什麼就這麼點破東西分兩篇來寫,但是我會告訴你還有第三篇的,哈哈哈:

  • 就是一個簡單封裝,同上篇,但是你會發現太好用了,媽媽再也不用擔心我以後的對話方塊了

首先回顧一下上篇

不說話,先貼圖

這裡寫圖片描述

這裡寫圖片描述

實現這個方式其實很簡單

1、寫佈局
2、在dialog中設定佈局
3、設定dialog的方法
詳情打造萬能的對話方塊Dialog(一)

封裝的實現

簡單封裝

public class DialogUtils {

    /**
     * 設定預設位置
     */
    private static
int GRAVITY_POSITION = Gravity.CENTER; /** * 設定底部彈出動畫,為了保留上一次的東西 */ private static int ANIMSTYLE = R.style.main_menu_animstyle; /** * 設定預設的高度 */ private static int hight = ViewGroup.LayoutParams.WRAP_CONTENT; /** * 設定預設的寬度 */ private static int Width = ViewGroup.LayoutParams.WRAP_CONTENT; public
static Dialog getDialog(Context context,int LayoutId){ return getDialog(context,LayoutId,GRAVITY_POSITION,0,hight,Width); } public static Dialog getDialog(Context context,int LayoutId,int animstyle){ return getDialog(context,LayoutId,GRAVITY_POSITION,animstyle,hight,Width); } public
static Dialog getDialog(Context context,int LayoutId,int position,int animstyle,int hight,int Width){ Dialog dialog = new Dialog(context, R.style.DialogTheme); View view = View.inflate(context,LayoutId,null); dialog.setContentView(view); Window window = dialog.getWindow(); window.setWindowAnimations(animstyle); window.setGravity(position); window.setLayout(Width,hight); dialog.show(); return dialog; } }

使用

傳入上下文和佈局即可實現仿IOS的圓角的對話方塊

DialogUtils.getDialog(MainActivity.this,R.layout.dialog_center);

總結

可能有些人看到這篇文章會覺得,這也叫封裝?佈局還得自己寫,太麻煩了。而我覺得這才是真正實現了谷歌一直崇尚的MVC設計模式。佈局獨立開來。這樣會最大限度的降低耦合度。求同存異嘛,至少我更喜歡這種佈局和程式碼獨立開來的方式。

原始碼下載

原始碼下載

相關推薦

Android打造萬能對話方塊Dialog()

打造萬能的對話方塊Dialog(二) 不要問我為什麼就這麼點破東西分兩篇來寫,但是我會告訴你還有第三篇的,哈哈哈: 就是一個簡單封裝,同上篇,但是你會發現太好用了,媽媽再也不用擔心我以後的對話方塊了 首先回顧一下上篇 不說話,先貼圖

Android打造萬能對話方塊Dialog(一)

打造萬能的Dialog(一) 首先宣告一下,封裝框架,我習慣性的把佈局和程式碼分離開來,因為我個人覺得這樣的耦合性可以降到最低,但是可能會造成重複寫佈局的問題 就是一個簡單的實現 首先我們從最基本的入手 先上圖,看圖說話

Android打造萬能對話方塊Dialog(三)

打造萬能的對話方塊Dialog(三) 已經寫了兩篇了,這下來一篇高階點的,仿照AlertDialog封裝我們想要的Dialog的對話方塊 具體那種方式跟適合你,你自己來選,不過如果只是為了簡單實用,我感覺上一篇的封裝方式也許更合適 先看圖,沒圖

android去掉對話方塊Dialog頂部標題欄

//對話方塊 CloseAppDialog dialog = new CloseAppDialog(context);

FlycoDialog 簡單實用的自定義Android彈窗對話方塊Dialog

效果圖鎮樓 FlycoDialog是一款非常棒的彈窗對話方塊處理框架,今天在這裡主要講一下他的自定義彈出對話方塊的功能,這裡以第二幅效果圖為例,圖片已經放在部落格最下方,X號自己隨便找一個東西代替吧。 首先我們還是先新增依賴

android開發 -- 對話方塊 Dialog 和 DialogFragment 詳解( Android 官方推薦 DialogFragment 建立對話方塊

 Android 官方推薦使用 : DialogFragment 建立對話方塊 ,不推薦直接使用Dialog建立對話方塊,所以能用寫對話方塊儘量用DialogFragment。自定義對話方塊也方便很多 推薦一篇DialogFragment的文章:http://blog.csdn.n

Android之UI--打造萬能自定義Dialog

在我們開發app的時候,很多地方需要彈出一個對話方塊,我們要不就直接用系統的Dialog或者就是AlertDialog,但是美工給我們的效果圖片很多都是無法去實現的。接下來我們來看下自定義Dialog的使用方法:首先我給大家展示2個圖片: 上面的

Android實現自定義圓角對話方塊Dialog

前言:   專案中多處用到對話方塊,用系統對話方塊太難看,就自己寫一個自定義對話方塊。         對話方塊包括:1、圓角         2、app圖示 , 提示文字,關閉對話方塊的"確定"按鈕   難點:1、對話方塊邊框圓角顯示      2、考慮到提示文字字數不確定,在不影響美觀的情況下,需要在一

android 8種對話方塊Dialog)使用方法彙總

目錄 1.寫在前面2.程式碼示例 2.1 普通Dialog(圖1與圖2) 2.2 列表Dialog(圖3) 2.3 單選Dialog(圖4) 2.4 多選Dialog(圖5) 2.5 等待Dialog(圖6) 2.6 進度條Dialog(圖7) 2.7 編輯Dialog(圖8) 2.8 自定義Dialo

(轉)Android 開發 對話方塊Dialog dismiss和hide方法的區別

原地址:https://www.pocketdigi.com/20120815/900.html dismiss和hide方法都可以隱藏對話方塊,在需要的時候也可以用show方法呼叫顯示。但是,這兩者是有區別的。 dismiss方法會釋放對話方塊所佔的資源,而hide

Android中的對話方塊(AlertDialog)

建立android中分體式對話方塊需要四個步驟: 第一:獲得AlertDialog的靜態內部類Builder物件,有該類建立對話方塊。 第二:通過Builder物件設定對話方塊的標題,按鈕UI及將要響應的事件。、 第三:呼叫Builder的Create()方法建立對對話方塊 第四

WPF中的對話方塊 Dialog

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java的GUI學習十(彈出對話方塊Dialog)

我愛樓主真的哈哈哈哈學習來自 http://www.cnblogs.com/xingyunblog/p/3870207.html import java.awt.Button; import java.awt.Dialog; import java.awt.FlowLayout; import

android模式進度對話方塊(ProgressDialog)的呼叫方法

public class MainActivity extends AppCompatActivity {     @BindView(R.id.button2)     Button button2;     @BindView(R.id.button1)     TextView

Android AlertDialog ————普通對話方塊

對話方塊沒啥注意的,使用的時候,要主要上下文使用this //彈出一個普通對話方塊 private void showNormalDialog() { //[1]構造對話方塊的例項 AlertDialog.Builder builder = new Bui

PyQt5顯示對話方塊Dialog 程式碼例項

Table of Contents PyQt5對話方塊有很多種,從PyQt5類關係圖中可以看出,常用的有QMessageBox, QInputDialog,QFontDialog, QFileDialog, QColorDialog等。本文主要是用兩種方法來演示

EasyUI 動態建立對話方塊Dialog

// 拒絕審批通過 function rejectApproval() { // 建立填寫審批意見對話方塊 $("<div id='reject-comment'> </div>").dialog({ ti

android自定義對話方塊去除黑底

在做Android開發中經常會使用到自定義樣式的Dialog,尤其是在遊戲當中,大家通常都是通過自定義一個佈局檔案來設定Dialog中顯示的內容,但是僅僅這樣還是不行的~會有黑色的框和白色的邊。這就需要我們自定義Dialog的樣式了。 首先上圖: 首先是Dialog的

Android之Builder對話方塊的一些常用方式

    Android為我們提供幾種對話方塊,主要有:AlertDialog、ProgressDialog、DataPickerDialog、TimePickerDialog。     AlertDialog,是具有0-3個按鈕,還可以可以放置選項、複選框單選框或自定義佈局等

android詳細的對話方塊AlertDialog.Builder使用方法

通過new一個AlertDialog.Builder物件,構造一個具有Title(setTitle)、message(setMessage)和確認按鈕PositiveButton(setPositiveButton)的對話視窗。 其中方法的定義為: setTitle設定標題