小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

EditText的應(yīng)用--特殊格式的字符等

 真愛圖書 2011-03-07
一:輸入特殊格式的字符
在我們開發(fā)程序的時候不免會輸入一些特屬個數(shù)的字符,比如密碼(輸入框的字符要加密顯示),電話號碼(比如數(shù)字和-),數(shù)字等,這些都算是一些特屬格式的字符,強(qiáng)大的EditText同樣為我們提供了輸入這些特屬格式字符的設(shè)置。
1.密碼文本框。密碼輸入也是Android應(yīng)用常用的功能,通過配置EditText的android:password="true"就可以實(shí)現(xiàn)這一密碼輸入功能,修改main.xml如下:
Xml代碼
1.<? xml   version = "1.0"   encoding = "utf-8" ?>   
2.< LinearLayout   xmlns:android = "http://schemas./apk/res/android"   
3.    android:orientation = "vertical"   
4.    android:layout_width = "fill_parent"   
5.    android:layout_height = "fill_parent"   
6.    >   
7.< EditText   
8.    android:id = "@+id/edit_text"     
9.    android:layout_width = "fill_parent"    
10.    android:layout_height = "wrap_content"   
11.    android:password = "true" />   
12.</ LinearLayout >   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas./apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText
 android:id="@+id/edit_text" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:password="true"/>
</LinearLayout> 運(yùn)行效果如下:
 
 可以看到我們輸入的字符已經(jīng)被“.”這樣的掩碼所代替。
2.手機(jī)中發(fā)短信打電話是必不可少的,所以用于專門輸入電話號碼的文本框也是大有用途,有了他我們對是否是電話號碼的校驗(yàn)就容易的多了(因?yàn)樽址钦_的,只要校驗(yàn)格式 ).通過設(shè)置android:phoneNumber="true"就可以把EditText變成只接受電話號碼輸入的文本框,連軟鍵盤都已經(jīng)變成撥號專用軟鍵盤了,所以不用再擔(dān)心輸入其他字符了。修改main.xml如下:
Xml代碼
1.<? xml   version = "1.0"   encoding = "utf-8" ?>   
2.< LinearLayout   xmlns:android = "http://schemas./apk/res/android"   
3.    android:orientation = "vertical"   
4.    android:layout_width = "fill_parent"   
5.    android:layout_height = "fill_parent"   
6.    >   
7.< EditText   
8.    android:id = "@+id/edit_text"     
9.    android:layout_width = "fill_parent"    
10.    android:layout_height = "wrap_content"   
11.    android:phoneNumber = "true" />   
12.</ LinearLayout >   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas./apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText
 android:id="@+id/edit_text" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:phoneNumber="true"/>
</LinearLayout> 運(yùn)行程序效果如下:
 
 注意看軟鍵盤,已經(jīng)變成撥號專用的啦.
3.有時候我們只想輸入數(shù)字,不想輸入字母,EditText為我們提供了 android:numeric來控制輸入的數(shù)字類型,一共有三種分別為integer(正整數(shù))、signed(帶符號整數(shù))和decimal(浮點(diǎn)數(shù))。這里以signed類型的為例,修改main.xml如下:
Xml代碼
1.<? xml   version = "1.0"   encoding = "utf-8" ?>   
2.< LinearLayout   xmlns:android = "http://schemas./apk/res/android"   
3.    android:orientation = "vertical"   
4.    android:layout_width = "fill_parent"   
5.    android:layout_height = "fill_parent"   
6.    >   
7.< EditText   
8.    android:id = "@+id/edit_text"     
9.    android:layout_width = "fill_parent"    
10.    android:layout_height = "wrap_content"   
11.    android:numeric = "signed" />   
12.</ LinearLayout >   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas./apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText
 android:id="@+id/edit_text" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:numeric="signed"/>
</LinearLayout> 運(yùn)行效果如下:
 
 注意這里的軟鍵盤變成“數(shù)字鍵盤”的變化.
二:為文本指定特定的軟鍵盤類型
前面我們通過指定為電話號碼特定格式,然后鍵盤類型變成了撥號專用的鍵盤,這個是自動變的,其實(shí)我們也可以通 過android:inputType來設(shè)置文本的類型,讓輸入法選擇合適的軟鍵盤的。。android:inputType有很多類型,這里使用date類型來演示,修改main.xml如下:

Xml代碼
1.<? xml   version = "1.0"   encoding = "utf-8" ?>   
2.< LinearLayout   xmlns:android = "http://schemas./apk/res/android"   
3.    android:orientation = "vertical"   
4.    android:layout_width = "fill_parent"   
5.    android:layout_height = "fill_parent"   
6.    >   
7.< EditText   
8.    android:id = "@+id/edit_text"     
9.    android:layout_width = "fill_parent"    
10.    android:layout_height = "wrap_content"   
11.    android:inputType = "date" />   
12.</ LinearLayout >   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas./apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText
 android:id="@+id/edit_text" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="date"/>
</LinearLayout>  運(yùn)行效果如下:
 
三:Enter鍵圖標(biāo)的設(shè)置
軟鍵盤的Enter 鍵默認(rèn)顯示的是“完成”文本,我們知道按Enter建表示前置工作已經(jīng)準(zhǔn)備完畢了,要去什么什么啦。比如,在一個搜索中,我們輸入要搜索的文本,然后按 Enter表示要去搜索了,但是默認(rèn)的Enter鍵顯示的是“完成”文本,看著不太合適,不符合搜索的語義,如果能顯示“搜索”兩個字或者顯示一個表示搜索的圖標(biāo)多好。事實(shí)證明我們的想法是合理的,Android也為我們提供的這樣的功能。通過設(shè)置android:imeOptions來改變默認(rèn)的“完成”文本。這里舉幾個常用的常量值:
1.actionUnspecified  未指定,對應(yīng)常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:
2.actionNone 沒有動作,對應(yīng)常量EditorInfo.IME_ACTION_NONE 效果:
3.actionGo 去往,對應(yīng)常量EditorInfo.IME_ACTION_GO 效果:
4.actionSearch 搜索,對應(yīng)常量EditorInfo.IME_ACTION_SEARCH 效果: 
5.actionSend 發(fā)送,對應(yīng)常量EditorInfo.IME_ACTION_SEND 效果:
6.actionNext 下一個,對應(yīng)常量EditorInfo.IME_ACTION_NEXT 效果:
7.actionDone 完成,對應(yīng)常量EditorInfo.IME_ACTION_DONE 效果:
 下面已搜索為例,演示一個實(shí)例,修改main.xml如下:
Xml代碼
1.<? xml   version = "1.0"   encoding = "utf-8" ?>   
2.< LinearLayout   xmlns:android = "http://schemas./apk/res/android"   
3.    android:orientation = "vertical"   
4.    android:layout_width = "fill_parent"   
5.    android:layout_height = "fill_parent"   
6.    >   
7.< EditText   
8.    android:id = "@+id/edit_text"     
9.    android:layout_width = "fill_parent"    
10.    android:layout_height = "wrap_content"   
11.    android:imeOptions = "actionSearch" />   
12.</ LinearLayout >   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas./apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText
 android:id="@+id/edit_text" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionSearch"/>
</LinearLayout>  修改HelloEditText如下:
Java代碼
1.package  com.flysnow;  
2.  
3.import  android.app.Activity;  
4.import  android.os.Bundle;  
5.import  android.view.KeyEvent;  
6.import  android.widget.EditText;  
7.import  android.widget.TextView;  
8.import  android.widget.Toast;  
9.import  android.widget.TextView.OnEditorActionListener;  
10.  
11.public   class  HelloEditText  extends  Activity {  
12.    /** Called when the activity is first created. */   
13.    @Override   
14.    public   void  onCreate(Bundle savedInstanceState) {  
15.        super .onCreate(savedInstanceState);  
16.        setContentView(R.layout.main);  
17.        EditText editText=(EditText)findViewById(R.id.edit_text);  
18.        editText.setOnEditorActionListener(new  OnEditorActionListener() {  
19.            @Override   
20.            public   boolean  onEditorAction(TextView v,  int  actionId, KeyEvent event) {  
21.                Toast.makeText(HelloEditText.this , String.valueOf(actionId), Toast.LENGTH_SHORT).show();  
22.                return   false ;  
23.            }  
24.        });  
25.    }  
26.}  
package com.flysnow;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.TextView.OnEditorActionListener;
public class HelloEditText extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        EditText editText=(EditText)findViewById(R.id.edit_text);
        editText.setOnEditorActionListener(new OnEditorActionListener() {
   @Override
   public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    Toast.makeText(HelloEditText.this, String.valueOf(actionId), Toast.LENGTH_SHORT).show();
    return false;
   }
  });
    }
} 運(yùn)行程序,點(diǎn)擊回車(也就是搜索圖標(biāo)軟鍵盤按鈕)會顯示該actionId.我們上面的每一個設(shè)置都會對應(yīng)一個常量,這里的actionId就是那個常量值。
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多