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

Android自定義對話框Dialog

 更新時間:2017年04月07日 08:51:52   作者:Love_1995  
這篇文章主要為大家詳細(xì)介紹了Android自定義對話框Dialog的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文簡單介紹自定義對話框Dialog的使用,代碼和結(jié)構(gòu)都非常簡單,目的是能夠快速使用自定義對話框,在本文中不具體講解對話框的高級使用。

實現(xiàn)步驟

首先需要自己在我們的.xml文件中自己構(gòu)建布局
布局文件做好之后,我們可以在style文件下自己定義布局的樣式
前兩步都做好之后,我開始在寫java文件

具體實現(xiàn)過程

1.   xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="300dp"
  android:layout_height="180dp"
  android:gravity="center"
  android:orientation="vertical">

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:background="@android:color/holo_green_light">

    <TextView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:gravity="center_vertical"
      android:text="IP設(shè)置"
      android:textColor="#fff"
      android:textSize="24sp" />
  </LinearLayout>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="#fff"
    android:gravity="center"
    android:orientation="horizontal"
    android:padding="5dp">

    <EditText
      android:id="@+id/et_ip1"
      style="@style/textview14sp"
      android:layout_weight="1"
      android:inputType="phone"
      android:maxLength="3"
      android:textColor="@color/colorPrimary" />

    <EditText
      android:id="@+id/et_ip2"
      style="@style/textview14sp"
      android:layout_weight="1"
      android:inputType="phone"
      android:maxLength="3"
      android:textColor="@color/colorPrimary" />

    <EditText
      android:id="@+id/et_ip3"
      style="@style/textview14sp"
      android:layout_weight="1"
      android:inputType="phone"
      android:maxLength="3"
      android:textColor="@color/colorPrimary" />

    <EditText
      android:id="@+id/et_ip4"
      style="@style/textview14sp"
      android:layout_weight="1"
      android:inputType="phone"
      android:maxLength="3"
      android:textColor="@color/colorPrimary" />
  </LinearLayout>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:orientation="horizontal">

    <Button
      android:id="@+id/btn_ipok"
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1"
      android:background="@android:color/holo_green_light"
      android:text="確認(rèn)"
      android:textColor="#fff"
      android:textSize="30sp" />

    <View
      android:layout_width="1dp"
      android:layout_height="match_parent"
      android:background="#fff" />

    <Button
      android:id="@+id/btn_ipcancle"
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1"
      android:background="@android:color/holo_green_light"
      android:text="取消"
      android:textColor="#fff"
      android:textSize="30sp" />
  </LinearLayout>
</LinearLayout>

以上是我的xml代碼,里面用到了一些簡單的組建,大家按自己的需求和風(fēng)格制作就行。部分組件中用到了style屬性,該屬性我們同樣是在res/value/style文件中構(gòu)建.
注意:所有組件的首字母都要大寫。

2.  style

<!-- 自定義對話框樣式 -->
  <style name="dialog_custom" parent="android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:background">#00000000</item>
    <item name="android:windowBackground">@android:color/transparent</item>
  </style>


3.  class文件

public class IP_dialog extends Dialog {
  private Button btnOk, btnCancle;
  private EditText ip1, ip2, ip3, ip4;
  public static String ip = "";

  public IP_dialog(Context context) {
    super(context, R.style.dialog_custom);
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dialog);
    initView();
    initEvet();
  }

  /*初始化組件*/
  private void initView() {
    btnOk = (Button) findViewById(R.id.btn_ipok);
    btnCancle = (Button) findViewById(R.id.btn_ipcancle);
    ip1 = (EditText) findViewById(R.id.et_ip1);
    ip2 = (EditText) findViewById(R.id.et_ip2);
    ip3 = (EditText) findViewById(R.id.et_ip3);
    ip4 = (EditText) findViewById(R.id.et_ip4);
  }

  /*監(jiān)聽事件*/
  private void initEvet() {
    btnOk.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        ip = getIP();
        Log.e("IP--->", ip);
        dismiss();
      }
    });
    btnCancle.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        dismiss();
      }
    });
  }

  /*獲取輸入的IP值*/
  private String getIP() {
    String ip = ip1.getText().toString().trim() + "."
        + ip2.getText().toString().trim() + "."
        + ip3.getText().toString().trim() + "."
        + ip4.getText().toString().trim();
    return ip;
  }
}

該類繼承Dialog,在該類中我們需要有一個構(gòu)造方法在方法里面引用我們的style文件,接下來的就是我們一般套路啦。特別提示一下我在該類中使用dismiss();來銷毀對話框。在MainActivity.java中,只需要把這個類實例化一下,創(chuàng)建出對象,調(diào)用對象的show();方法就可以將對話框顯示出來。

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

相關(guān)文章

  • Android開發(fā)環(huán)境安裝和配置圖文教程

    Android開發(fā)環(huán)境安裝和配置圖文教程

    輕松搞定Android開發(fā)環(huán)境部署,這篇文章主要為大家詳細(xì)介紹了Android開發(fā)環(huán)境安裝和配置圖文教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 簡單實現(xiàn)Android放大鏡效果

    簡單實現(xiàn)Android放大鏡效果

    這篇文章主要教大家簡單實現(xiàn)Android放大鏡效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • android自定義組件實現(xiàn)儀表計數(shù)盤

    android自定義組件實現(xiàn)儀表計數(shù)盤

    這篇文章主要為大家詳細(xì)介紹了android自定義組件實現(xiàn)儀表計數(shù)盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Flutter異步操作實現(xiàn)流程詳解

    Flutter異步操作實現(xiàn)流程詳解

    在Flutter中,借助 FutureBuilder 組件和 StreamBuilder 組件,可以非常方便地完成異步操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • Android自定義View實現(xiàn)loading動畫加載效果

    Android自定義View實現(xiàn)loading動畫加載效果

    項目開發(fā)中對Loading的處理是比較常見的,安卓系統(tǒng)提供的不太美觀,引入第三發(fā)又太麻煩,這時候自己定義View來實現(xiàn)這個效果。這篇文章主要介紹了Android自定義View實現(xiàn)loading動畫加載效果,需要的朋友可以參考下
    2017-03-03
  • Flutter質(zhì)感設(shè)計之直接輸入

    Flutter質(zhì)感設(shè)計之直接輸入

    這篇文章主要為大家詳細(xì)介紹了Flutter質(zhì)感設(shè)計之直接輸入,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Android6.0藍(lán)牙出現(xiàn)無法掃描設(shè)備或閃退問題解決辦法

    Android6.0藍(lán)牙出現(xiàn)無法掃描設(shè)備或閃退問題解決辦法

    這篇文章主要介紹了Android6.0藍(lán)牙出現(xiàn)無法掃描設(shè)備或閃退問題解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • android實現(xiàn)用戶體驗超棒的微信WebView進(jìn)度條

    android實現(xiàn)用戶體驗超棒的微信WebView進(jìn)度條

    本篇文章主要介紹了android實現(xiàn)用戶體驗超棒的微信WebView進(jìn)度條,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • AndroidStudio3.6的卸載安裝,Gradle持續(xù)下載/Gradle Build失敗等問題

    AndroidStudio3.6的卸載安裝,Gradle持續(xù)下載/Gradle Build失敗等問題

    這篇文章主要介紹了AndroidStudio3.6的卸載安裝,Gradle持續(xù)下載/Gradle Build失敗等問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Android View源碼解讀 DecorView與ViewRootImpl淺談

    Android View源碼解讀 DecorView與ViewRootImpl淺談

    這篇文章主要解讀了Android View源碼,為大家詳細(xì)介紹DecorView與ViewRootImpl,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論