showSetPwdDialog--自定義對話框

来源:http://www.cnblogs.com/rongsnow/archive/2016/03/26/5321735.html
-Advertisement-
Play Games

樣式: 佈局: layout dialog_set_pwd.xml 狀態選擇器: drawable btn_blue_selector.xml btn_white_selector.xml 引用值 values colors.xml 代碼: ...


樣式:

      

 

佈局:

layout

  dialog_set_pwd.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <LinearLayout
 8         android:layout_width="match_parent"
 9         android:layout_height="wrap_content"
10         android:background="#EFEFEF"
11         android:orientation="horizontal"
12         android:padding="10dp" >
13 
14         <ImageView
15             android:layout_width="wrap_content"
16             android:layout_height="wrap_content"
17             android:src="@drawable/dialog_title_default_icon" />
18 
19         <TextView
20             android:id="@+id/textView1"
21             android:layout_width="wrap_content"
22             android:layout_height="wrap_content"
23             android:layout_marginLeft="5dp"
24             android:text="設置密碼"
25             android:textColor="@color/black"
26             android:textSize="18sp" />
27     </LinearLayout>
28 
29     <EditText
30         android:id="@+id/et_pwd"
31         android:layout_width="match_parent"
32         android:layout_height="wrap_content"
33         android:layout_margin="5dp"
34         android:hint="請輸入密碼"
35         android:inputType="textPassword" >
36     </EditText>
37 
38     <EditText
39         android:id="@+id/et_pwd_confirm"
40         android:layout_width="match_parent"
41         android:layout_height="wrap_content"
42         android:layout_margin="5dp"
43         android:hint="請再次輸入密碼"
44         android:inputType="textPassword" />
45 
46     <LinearLayout
47         android:layout_width="match_parent"
48         android:layout_height="wrap_content"
49         android:orientation="horizontal"
50         android:padding="10dp" >
51 
52         <Button
53             android:id="@+id/btn_ok"
54             android:layout_width="0dp"
55             android:layout_height="wrap_content"
56             android:layout_weight="1"
57             android:background="@drawable/btn_blue_selector"
58             android:text="確定"
59             android:layout_marginRight="5dp"
60             android:textColor="@color/white" />
61 
62         <Button
63             android:id="@+id/btn_cancel"
64             android:layout_width="0dp"
65             android:layout_height="wrap_content"
66             android:layout_weight="1"
67             android:background="@drawable/btn_white_selector"
68             android:text="取消"
69             android:textColor="@color/black" />
70     </LinearLayout>
71 
72 </LinearLayout>

 

狀態選擇器:

drawable

  btn_blue_selector.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <selector xmlns:android="http://schemas.android.com/apk/res/android">
3 
4     <item android:drawable="@drawable/dg_btn_confirm_select" android:state_pressed="true"></item>
5     <item android:drawable="@drawable/dg_btn_confirm_normal"></item>
6 
7 </selector>

  btn_white_selector.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <selector xmlns:android="http://schemas.android.com/apk/res/android">
3 
4     <item android:drawable="@drawable/dg_button_cancel_select" android:state_pressed="true"></item>
5     <item android:drawable="@drawable/dg_button_cancel_normal"></item>
6 
7 </selector>

引用值

values

  colors.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3 
 4     <color name="black">#000</color>
 5     <color name="gray">#a000</color>
 6     <color name="white">#fff</color>
 7     <color name="red">#f00</color>
 8     <color name="shape_setting_normal">#B1D7EE</color>
 9     <color name="shape_setting_pressed">#3C9AD4</color>
10     <color name="blue">#459FD7</color>
11     <color name="light_green">#80f0</color>
12 
13 </resources>

 

代碼:

 1     private void showSetPwdDialog() {
 2         AlertDialog.Builder builder = new AlertDialog.Builder(this);
 3         View view = View.inflate(this, R.layout.dialog_set_pwd, null);
 4 
 5         Button btnOk = (Button) view.findViewById(R.id.btn_ok);
 6         Button btnCancel = (Button) view.findViewById(R.id.btn_cancel);
 7 
 8         final EditText etPwd = (EditText) view.findViewById(R.id.et_pwd);
 9         final EditText etPwdConfirm = (EditText) view
10                 .findViewById(R.id.et_pwd_confirm);
11 
12         builder.setView(view);//將當前佈局對象設置給dialog
13         final AlertDialog dialog = builder.create();
14 
15         btnOk.setOnClickListener(new OnClickListener() {
16 
17             @Override
18             public void onClick(View v) {
19                 String pwd = etPwd.getText().toString().trim();
20                 String pwdConfirm = etPwdConfirm.getText().toString().trim();
21 
22                 if (TextUtils.isEmpty(pwd) || TextUtils.isEmpty(pwdConfirm)) {
23                     ToastUtils.showToast(getApplicationContext(), "輸入內容不能為空!");
24                 } else {
25                     if (pwd.equals(pwdConfirm)) {
26                         System.out.println("登錄成功!");
27 
28                         //將密碼保存在本地sp
29                         PrefUtils.putString(getApplicationContext(),
30                                 GlobalConstants.PREF_PASSWORD,
31                                 MD5Utils.getMd5(pwd));
32 
33                         dialog.dismiss();
34 
35                         enterLostAndFindPage();
36                     } else {
37                         ToastUtils.showToast(getApplicationContext(),
38                                 "兩次密碼不一致!");
39                     }
40 
41                 }
42             }
43         });
44 
45         btnCancel.setOnClickListener(new OnClickListener() {
46 
47             @Override
48             public void onClick(View v) {
49                 dialog.dismiss();
50             }
51         });
52 
53         dialog.show();
54     }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>Baymax</title> 7 8 <style> 9 body { 10 background: #595959; 11 } 12 13 #baymax ...
  • 引言 web應用中有很多地方會用到打點,用來檢測用戶行為,今天就做了個打點相關的需求,為了統計一個廣告給用戶的展示次數,每次用戶請求完成並且渲染完成之後就算一次成功的展示,其實有時候這個廣告還沒有在用戶的可視範圍之內,用戶需要滑動滾動條才能看見,但已經算了一次成功展示了,顯然這裡不太合理,這裡做了個 ...
  • 備註 html 效果圖 ...
  • 一、應用場景 滑鼠hover彈出div,並且滑鼠離開後不能馬上隱藏,因為這個div上還有功能入口。比如: 滑鼠經過好友列表中的好友頭像時顯示資料卡的效果 hover時顯示二維碼 二、實現 用如下這樣一個簡單的效果:滑鼠hover到A上顯示B來模擬 有2種實現方式,推薦第二種,第一種有弊端下麵會說。 ...
  • why 在開發中我們可能需要改變這一行為,一般基於2種理由: how 筆者所知道的主要有3種方式,下麵我們就一個個來看看。 通過theme/style來修改,代碼如下: 修改windowAnimationStyle的方式 修改windowAnimationStyle的方式 但是實際測試發現,不論是改 ...
  • *owner在開發中現在已經很少用了 有興趣的童鞋可以看看* 我們遇到owner通常是在類似 [[[NSBundle mainBundle] loadNibNamed:@"Food" owner:nil options:nil]lastObject ]中遇到的。 我們一般的做法是直接把owner設置 ...
  • GCD 是iOS多線程實現方案之一,非常常用 英文翻譯過來就是偉大的中樞調度器,也有人戲稱為是牛逼的中樞調度器 是蘋果公司為多核的並行運算提出的解決方案 1.一次性函數 dispatch_once 顧名思義是只執行一次的函數,註意是整個程式中只執行一次(單例模式常用到) 2.柵欄函數 dispatc ...
  • 文件操作 Δ一 .plist文件 .plist文件是一個屬性字典數組的一個文件; .plist文件可以用來存儲:字典、數組、字元串等對象數據,可以混搭存儲 【註】iOS開發中,plist文件一般用於app的配置信息 【註】ios開發工程中,允許多個plist文件共存。 【註】plist文件用來存儲小 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...