麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Android > 正文

Android控件系列之EditText使用方法

2020-04-11 12:42:55
字體:
來源:轉載
供稿:網友
學習目的:

1、掌握在Android中如何建立EditText
2、掌握EditText的常用屬性
3、掌握EditText焦點的事件、按鍵的事件(監(jiān)聽器)

介紹:

EditText是接受用戶輸入信息的最重要控件。通過前面課程的學習,您可能會猜到可以利用EditText.getText()獲取它的文本,但真正的項目中,可能沒那么簡單,需要更多的限制,如文本長度限制,是否數字限制等等。

鑒于手機屏幕尺寸有限,您可能總想著如何節(jié)約控件。在每個用戶需要填寫內容的文本框的左邊加上標題在PC上是一種優(yōu)雅的方法,但在手機上就會顯的浪費,因此本例我們將學習如何利用一個EditText達到所有的效果:

 請注意第一個文本框,其他控件只是為了測試轉移焦點后的效果,我們樣例針對第一個文本進行限制,用戶沒有輸入時,它顯示“請輸入您的名字”作為提示,為了區(qū)分這只是一個提示而不是真正的文本,我們使用灰色來以示區(qū)分,當用戶輸入自己的內容時,這個提示將會消失,而字體變?yōu)楹谏?,如下圖:

最后我們對EditText做了長度限制,這可以簡單的在XML中將它的maxLength屬性設定為一個值,但用戶輸入不了更多字符時,會產生歧義,因此需要告知用戶無法繼續(xù)輸入的原因:

  

XML布局代碼如下:

復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#DDDDDD"
android:text="請輸入您的名字"
android:id ="@+id/et"
android:maxLength = "10"
></EditText>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="點擊轉換焦點"
></Button>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="點擊轉換焦點"
android:id ="@+id/et2"
></EditText>
</LinearLayout>

后臺代碼如下:
復制代碼 代碼如下:

//表示文本框是否為空
private Boolean isEmpty = true;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText et = (EditText)this.findViewById(R.id.et);
//監(jiān)聽控件的焦點改變事件
et.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
// TODO Auto-generated method stub
//獲取觸發(fā)事件的EditText
EditText clickEditText = (EditText)arg0;
//如果失去焦點
if(arg1 == false)
{
//獲取當前文本
String text =clickEditText.getText().toString().trim();
//如果的確人為輸入過內容
if(text.length()>0
&text.equals("請輸入您的名字")== false)
{
isEmpty = false;
clickEditText.setTextColor(Color.BLACK);
clickEditText.setText(text);
}
else
{
clickEditText.setText("請輸入您的名字");
clickEditText.setTextColor(Color.GRAY);
isEmpty = true;
}
}
//如果獲得焦點
else
{
clickEditText.setTextColor(Color.BLACK);
//如果處于未編輯狀態(tài),則清空“請輸入您的名字”這幾個字
if(isEmpty == true)
{
clickEditText.setText("");
}
}
}
});
//監(jiān)聽控件有新字符輸入
et.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
// TODO Auto-generated method stub
//獲取觸發(fā)事件的EditText
EditText clickEditText = (EditText)arg0;
//獲取當前文本
String text =clickEditText.getText().toString().trim();
if(text.length()==10)
{
//提示用戶
Toast toast = Toast.makeText(MyActivity.this, "最大長度為10個字符", Toast.LENGTH_SHORT);
toast.setGravity(0, 0, 0);
toast.show();
}
return false;
}
});
}


總結:
本文介紹了如何在Android中使用EditText,并介紹了常用的屬性和事件,最后實現了一個用戶體驗良好的,并且非常通用的文本限制和提示功能。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 老师你怎么会在这第2季出现 | av电影在线免费观看 | 精品一区二区三区在线观看国产 | 午夜精品区 | 久久国产免费视频 | 4480午夜 | 色污视频 | 亚洲成人中文字幕在线 | 国产合集91合集久久日 | 久久久久久久九九九九 | 爱视频福利 | 日韩美香港a一级毛片免费 欧美一级淫片007 | 日韩字幕在线 | 日韩色视频在线观看 | 久久国产免费 | 福利在线国产 | 成人毛片免费看 | wwwxxx视频 | 性爱在线免费视频 | 久草免费资源视频 | 日本aaaa片毛片免费观看视频 | 日本精品黄色 | 毛片在哪里看 | 久久久www成人免费毛片 | 毛片免费在线播放 | 亚洲第一色片 | 欧美成人精品一区 | 在线观看麻豆 | 成人黄视频在线观看 | 亚洲国产资源 | 国产美女视频一区二区三区 | 在线视频观看一区二区 | 日本一区免费看 | 毛片在线免费 | 中国a级黄色片 | 黄色av网站在线观看 | 国产成人精品免高潮在线观看 | 一级毛片真人免费播放视频 | 一级一片免费看 | 狠狠干夜夜草 | 精品国产乱码久久久久久丨区2区 |