欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android自定義控件實(shí)現(xiàn)萬能的對(duì)話框

 更新時(shí)間:2017年03月16日 10:59:22   作者:landptf  
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)萬能對(duì)話框的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

自定義控件有段時(shí)間沒更新了,今天給大家?guī)硪粋€(gè)新的對(duì)話框樣式,本著用更少的代碼實(shí)現(xiàn)更豐富的功能。

由于對(duì)話框?qū)τ脩舻牟僮饔杏绊?,所以目前app上的對(duì)話框用的已經(jīng)比較少了,但還是有一些比較重要的信息提示需要使用對(duì)話框的樣式,例如版本更新,賬戶異地登陸等。
下面來看自定義對(duì)話框的樣式:

圖1:自定義提示對(duì)話框

圖2:自定義警告對(duì)話框

圖3:默認(rèn)提示對(duì)話框

圖4:默認(rèn)警告對(duì)話框

這里面帶來了兩種對(duì)話框的樣式,也是比較常見的。以上所有的背景顏色,文字顏色,以及按鈕的點(diǎn)擊效果都是可以自定義的。

下面分別看看四種對(duì)話框是如何實(shí)現(xiàn)的
圖1:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setTitle("發(fā)現(xiàn)新版本V5.4.1")
    .setContent("Version5.4.1\n【更新默認(rèn)表情】——同步最新表情,聊天更有趣\n" +
        "【資料卡大升級(jí)】——全新視覺設(shè)計(jì),增加陌生人來源信息\n" +
        "【消息跳動(dòng)優(yōu)化】——鼠標(biāo)懸浮在消息列表上時(shí)順序不動(dòng),再也不怕點(diǎn)錯(cuò)啦\n" +
        "【收藏預(yù)覽升級(jí)】——完善圖片瀏覽體驗(yàn),優(yōu)化網(wǎng)頁預(yù)覽效果\n" +
        "【更多體驗(yàn)優(yōu)化】——群成員列表寬度可調(diào);優(yōu)化天氣定位策略;優(yōu)化圖片查看器")
    .setStyle(DialogM.STYLE_TIP)
    .setPositiveButton("更新", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "submit", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    })
    .setNegativeButton("取消", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "cancel", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    });
builder.create().show();

圖2:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setTitle("Hello")
    .setTitleBackColor(getResources().getColor(R.color.content))
    .setTitleTextColor(getResources().getColor(R.color.mainColor))
    .setAlertButtonBackColor(getResources().getColor(R.color.mainColor))
    .setAlertButtonTextColor(getResources().getColor(android.R.color.white))
    .setCanceledOnTouchOutside(false)
    .setAlertButton("確定", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
      }
    })
    .setContent("landptf");
builder.create().show();

圖3:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setContent("landptf")
    .setStyle(DialogM.STYLE_TIP)
    .setPositiveButton("submit", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "submit", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    })
    .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        Toast.makeText(DialogMActivity.this, "cancel", Toast.LENGTH_SHORT).show();
        dialog.dismiss();
      }
    });
builder.create().show();

圖4:

DialogM.Builder builder = new DialogM.Builder(DialogMActivity.this)
    .setAlertButton("", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
      }
    })
    .setContent("landptf");
builder.create().show();

圖3與圖4完全使用了默認(rèn)的顏色,我在代碼里指定了紅色為主色調(diào)。

所有的操作都是通過鏈?zhǔn)秸{(diào)用,可以根據(jù)自己app的風(fēng)格隨意改變顏色。當(dāng)然了你也可以把代碼下載下來增加更豐富的功能。

源碼比較長,有興趣的童鞋可以點(diǎn)擊這里查看。
源碼中采用了建造者模式,可以方便鏈?zhǔn)秸{(diào)用,使代碼看起來更簡潔。

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

相關(guān)文章

  • Android RecyclerView的卡頓問題的解決方法

    Android RecyclerView的卡頓問題的解決方法

    本篇文章主要介紹了Android RecyclerView的卡頓問題的解決方法,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • 詳解kotlin中::雙冒號(hào)的使用

    詳解kotlin中::雙冒號(hào)的使用

    在?Kotlin?中?,?::?雙冒號(hào)操作符?的作用是獲取類,對(duì)象,函數(shù),屬性的?類型對(duì)象引用,這篇文章主要介紹了詳解kotlin中::雙冒號(hào)的使用,需要的朋友可以參考下
    2023-04-04
  • Android來電監(jiān)聽和去電監(jiān)聽實(shí)現(xiàn)代碼

    Android來電監(jiān)聽和去電監(jiān)聽實(shí)現(xiàn)代碼

    本文是關(guān)于來點(diǎn)監(jiān)聽和去電監(jiān)聽展開問題,通過實(shí)例代碼講解,對(duì)android來電監(jiān)聽和去電監(jiān)聽的相關(guān)知識(shí)感興趣的朋友一起看看吧
    2017-06-06
  • Android自定義柱狀圖表的方法實(shí)例

    Android自定義柱狀圖表的方法實(shí)例

    柱狀圖是我們?cè)谌粘i_發(fā)中經(jīng)常會(huì)用到的一種圖表,下面這篇文章主要給大家介紹了關(guān)于Android如何自定義柱狀圖表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-05-05
  • Android AIDL實(shí)現(xiàn)進(jìn)程間通信探索

    Android AIDL實(shí)現(xiàn)進(jìn)程間通信探索

    這篇文章主要為大家詳細(xì)介紹了Android AIDL實(shí)現(xiàn)進(jìn)程間通信的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android Studio 打包生成APK文件方法

    Android Studio 打包生成APK文件方法

    Android Studio是谷歌推出一個(gè)Android集成開發(fā)工具,基于IntelliJ IDEA。這篇文章主要介紹了Android Studio 打包生成APK文件方法,需要的朋友可以參考下
    2018-07-07
  • android自定義控件和自定義回調(diào)函數(shù)步驟示例

    android自定義控件和自定義回調(diào)函數(shù)步驟示例

    這篇文章主要介紹了android自定義控件步驟示例,包括為View類增加屬性、響應(yīng)用戶消息、自定義回調(diào)函數(shù)等方法
    2014-01-01
  • Flutter實(shí)現(xiàn)編寫富文本Text的示例代碼

    Flutter實(shí)現(xiàn)編寫富文本Text的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何通過Flutter實(shí)現(xiàn)編寫富文本Text,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-11-11
  • Android Parcelable接口使用方法詳解

    Android Parcelable接口使用方法詳解

    這篇文章主要介紹了 Android Parcelable接口使用方法詳解的相關(guān)資料,實(shí)現(xiàn)Parcelable就是為了進(jìn)行序列化,需要的朋友可以參考下
    2017-08-08
  • Android組件化工具ARouter使用方法詳細(xì)分析

    Android組件化工具ARouter使用方法詳細(xì)分析

    這篇文章主要介紹了Android組件化工具ARouter使用方法,組件化項(xiàng)目存在各個(gè)模塊之間耦合,通信麻煩的問題,為了解決這個(gè)問題,阿里巴巴的開發(fā)者就搞出了Arouter這個(gè)框架,以解決上述問題
    2022-10-10

最新評(píng)論