EditText自定義邊框背景與動態檢測使用者輸入
2.程式碼實現
(1)res/drawable/shape_edit_normal.xml 功能:編輯框沒獲得焦點時,使用該shape。<shape.../>為根元素的ShapeDrawable資源,主要用於定義一個基本的幾何圖形,如矩形、圓形、線條等。 <solid.../>子元素用於指定填充集合圖形的的顏色; <corners.../>子元素用於定義幾個圖形的四個角的弧度; <gradient../>子元素用於指定填充幾何圖形的漸變顏色; <stroke../>子元素指定幾何圖形邊框
(2)res/drawable/shape_edit_focus.xml 原始碼如下:編輯框獲得焦點時,使用該shape。與上面的shape區別是,<stroke../>元素的顏色屬性值設定不一致。<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="4dip"/> <stroke android:width="1dip" android:color="#BDC7D8" /> </shape>
(3)res/drawable/selector_edit_frame.xml 功能:用於設定檔案編輯框是否有獲取焦點時對應的<shape.../>資源。<selector.../>為根元素的StateListDrawable資源,用於組織多個Drawable物件。當使用StateListDrawable作為目標元件的背景、前景圖片時,StateListDrawable物件所顯示的Drawable物件會隨目標元件狀態的改變自動切換。該元素可以包含多個<item../>子元素,該元素可指定如下屬性: >android:color或android:drawable:指定顏色或Drawable物件; >android:state_xxx:指定一個特定狀態;<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="4dip"/> <stroke android:width="1dip" android:color="#728ea3" /> </shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@drawable/shape_edit_normal"/>
<item android:state_focused="true" android:drawable="@drawable/shape_edit_focus"/>
</selector>
(4)res/layout/main.xml
......
<EditText
android:background="drawable/selector_edit_frame"
android:layout_width="match_parent"
android:layout_weight="wrap_content"/>
......
二、動態檢測EditText的輸入
在Android專案開發中,往往我們在實現登入或註冊功能時,需要動態來檢測驗證碼框中的內容來決定是否使能登入/註冊按鈕。Android系統提供了一個TextWatch事件監聽器,其可以實現動態檢測EditText輸入情況。
1.效果演示
2.原始碼實現 功能:動態檢測驗證碼輸入框是否與隨機驗證碼字元匹配,若匹配則使能登入按鈕並改變其背景顏色。
protected void onCreate(Bundle savedInstanceState) {
Button loginBtn = (Button)findViewById(R.id.login);
EditText secCode = (EditText) findViewById(R.id.login_security_code);
secCode.addTextChangedListener(new TextWatcher() {
/**
*文字編輯框內容未改變前回調該方法
*/
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
loginBtn.setEnabled(false); //
loginBtn.setBackgroundColor(Color.parseColor("#DEB887"));
}
/**
*文字編輯框內容改變時回撥該方法
*/
public void onTextChanged(CharSequence s, int start, int before,
int count) {
loginBtn.setEnabled(false);
loginBtn.setBackgroundColor(Color.parseColor("#DEB887"));
}
/**
*文字編輯框內容改變後回撥該方法
*/
public void afterTextChanged(Editable s) {
if (secCode.getText().toString().equalsIgnoreCase(verityCode)) {
loginBtn.setEnabled(true);
loginBtn.setBackgroundResource(R.drawable.selector_btn_background);
}
}
});
}
相關推薦
EditText自定義邊框背景與動態檢測使用者輸入
一、EditText自定義邊框背景 1.效果演示 2.程式碼實現 (1)res/drawable/shape_edit_normal.xml 功能:編輯框沒獲得焦點時,使用該shape。<s
Android——EditText自定義邊框、圓角和其常用屬性總結
看下效果圖: 執行步驟: 首先在/res/layout資料夾下建立custom_et_layout.xml佈局檔案,原始碼如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:
EditText自定義下劃線與游標顏色
因設計的需求有時我們不得不改變EditText底線顏色,接下來我們就實現EditText改變游標及底線顏色:一.EditText未做任何設定之間效果:xml.layout: <EditText android:hint="EditText未做任何設定" android:
EditText自定義邊框、虛線、圓角、形狀的實現
程式碼中說明: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" >
Android EditText簡單自定義邊框樣式
1.去掉全部邊框 android:background="@null"。 2.自定義樣式: shape中如果不通過Android:shape來指定形狀時,預設是矩形,其中solid代表純色,corners代表角,radius越大,圓角越大,stroke代表邊框線。 首先定義
自定義UISearchBar背景、邊框、左側圖示、刪除圖示、取消按鈕
<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">自定義UISearchBar背景、邊框、左側圖示、刪除圖示</sp
自定義View分類與流程
ces ted function ram 註意 measure fin 利用 href 自定義View分類與流程(進階篇)## 轉載出處: http://www.gcssloop.com/customview/CustomViewProcess/ 自定義View繪制流程
Django中創建自定義標簽與過慮器
IT choices filters AS value ret urn gist doctype 1.首先在app中創建templatetags目錄(註意必須使用該名字,否則系統找不到自定義的標簽),然後創建python文件common_extrgs.py. common_
Senparc.Weixin微信開發(3) 自定義菜單與獲取用戶組
開發 分享圖片 獲取 local lock 自定義 oba summary setting 自定義菜單 代碼參考:http://www.cnblogs.com/szw/p/3750517.html 還可以使用他們官網的自定義:https://neuchar.senparc.
自定義Counter使用 與
自定義計數器的使用(記錄敏感單詞) 複製程式碼 1 package counter; 2 3 import java.net.URI; 4 import org.apache.hadoop.conf.Configuration; 5 import org.apache.hadoop.f
Android 自定義 spinner (背景、字型顏色)
Android 自定義 spinner (背景、字型顏色) 轉自:http://blog.sina.com.cn/s/blog_3e333c4a010151cj.html 1、準備兩張圖片,並做好9.png 2、在drawable中定義spinner
自定義圓形背景RelativeLayout
最近公司專案愛用到圓角背景的RelativeLayout,一般圓角背景的實現思路無非就是兩種,第一種用.xml實現,需要用到.9圖片,防止圖片變形,如果要改變背景顏色的話,不可避免的要找美工妹子作圖,看著我的美工妹子一臉幽怨的小表情,我打算還是用第二種方法吧,就是自已用程式碼繪製一個,要改變角度,要
安卓自定義View進階-手勢檢測(GestureDecetor)
Android 手勢檢測,主要是 GestureDetector 相關內容的用法和注意事項,本文依舊屬於事件處理這一體系,部分內容會涉及到之前文章提及過的知識點,如果你沒看過之前的文章,可以到 自定義 View 系列 來檢視這些內容。 在開發 Android 手機應用過程中,可
微信公眾號自定義選單介面與 wechat.class.php
測試介面 https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95&form=%E8%87%AA%E5%AE%9A
Android 自定義型別檔案與程式關聯
0x01 功能 實現在其他應用中開啟某個字尾名的檔案 可以直接跳轉到本應用中的某個activity進行處理 0x01 實現 首先建立一個activity ,然後在manifest裡對該activity項編輯,加入 <intent-
Devexpress GridControl自定義Header背景顏色
Devexpress提供了很多控制元件,外觀比普通Winform控制元件漂亮很多,裡面很多功能想要學會是需要花費一番功夫的。本文主要介紹GridControl自定義column Header背景顏色。 在Form窗體上拖放了一個GridControl,嘗試修改列頭 column&nbs
c# 通過json.net中的JsonConverter進行自定義序列化與反序列化
iter 希望 生成 ade json.net .json implement else col 相信大家在工作中會經常遇見對json進行序列化與反序列化吧,但通常的序列化與反序列化中的json結構與c#中的類模型結構是相對應的,我們是否可以在序列化一個對象時候,讓我們
C# 自定義堆疊進行迴文檢測的程式碼
在研發之餘,將做工程過程中比較重要的一些內容備份一下,如下的內容內容是關於C# 自定義堆疊進行迴文檢測的內容,希望對各朋友也有用。 using System; using System.Collections; namespace CStack { class Program { static void
【C語言】typedef(自定義資料型別)與#define(巨集定義)用法比較
不管是在C語言還是在C++中,typedef這個詞都不少見,當然出現頻率較高的還是在C程式碼中。typedef和#define有些相似,但更多的是不同,特別是在一些複雜的用法上,就完全不同了。 1.巨集定義(#define) 巨集定義又稱為巨集代換
Python 自定義裝飾器與函式的可變引數
1.函式的可變引數 參考來源 def f(*args, **kw): *:代指元組,長度不限 **:代表鍵值對,個數不限 def f(*args, **kw): print len(args) print args for i in kw: