資源描述:
《MMI_Android開發(fā)入門(三)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、......續(xù):手機控件?EditTextEditTextWidget的設(shè)計是為了等待User輸入而準備的,那么在User輸入的同時,又該如何攔截所輸入的文字呢?Android的多數(shù)Widget都有setOnKeyListener事件,以此Listener捕捉User輸入的鍵盤事件。接著,本范例將以EditText與TextView示范如何在捕捉User鍵盤輸入文字的同時,實時取得文字,同步顯示于TextView,類似手機版的Ajax效果,實時輸入實時輸出。?運行結(jié)果▲圖4-1?在EditText輸入的數(shù)據(jù),立即出現(xiàn)在TextVie
2、w里面?范例程序src/irdc.ex04_01/EX04_01.java主程序中唯一也是關(guān)鍵之處,便是利用EditText.OnKeyListener來攔截EditText的鍵盤輸入事件,僅需在其中重寫onKey()方法,在onKey()方法中,將EditText.getText()取出的文字,顯示于TextView當(dāng)中,是一個簡單易懂的范例練習(xí)。packageirdc.ex04_01;importandroid.app.Activity;學(xué)習(xí)好幫手......importandroid.os.Bundle;importandro
3、id.view.KeyEvent;importandroid.view.View;importandroid.widget.EditText;importandroid.widget.TextView;publicclassEX04_01extendsActivity{?/*聲明TextView、EditText對象*/?privateTextViewmTextView01;?privateEditTextmEditText01;????/**Calledwhentheactivityisfirstcreated.*/???@Ove
4、rride?publicvoidonCreate(BundlesavedInstanceState)?{???super.onCreate(savedInstanceState);???setContentView(R.layout.main);??????/*取得TextView、EditText*/?????mTextView01=(TextView)findViewById(R.id.myTextView);???mEditText01=(EditText)findViewById(R.id.myEditText);?????
5、?/*設(shè)置EditText用OnKeyListener事件來啟動*/???mEditText01.setOnKeyListener(newEditText.OnKeyListener()學(xué)習(xí)好幫手......???{?????@Override?????publicbooleanonKey(Viewarg0,intarg1,KeyEventarg2)?????{???????//TODOAuto-generatedmethodstub???????/*設(shè)置TextView顯示EditText所輸入的內(nèi)容*/???????mTextV
6、iew01.setText(mEditText01.getText());???????returnfalse;?????}???});}}?延伸學(xué)習(xí)這個實時輸入實時顯示的效果可以擴展在許多手機應(yīng)用程序中,可以試著在OnKeyListener()里做實時文字過濾效果,例如:當(dāng)User輸入不雅的文字時,可以提示User不接受部分關(guān)鍵字,以輸入Shit為例,在TextView就會出現(xiàn):Sh*t,此種做法可以過濾掉不雅文字的出現(xiàn)。此外,不僅是Widget才有setOnKeyListener方法可以重寫,事實上,在View里也有View.s
7、etOnKeyListener,也就是捕捉User點擊鍵盤時的事件處理,但請?zhí)貏e注意,需攔截這個事件,即View要取得焦點(Focus)才能觸發(fā)onKeyDown事件。最后提醒你,舊版本當(dāng)中的View.setKeyListener類已經(jīng)被刪除,1.0r2版之后,已經(jīng)改用View.setOnKeyListener()方法替換。?范例說明延續(xù)前一章按鈕事件的應(yīng)用范例,重新設(shè)計一個具有背景圖的按鈕,讓按鈕有美觀的背景圖片,只是這次不使用先前的ButtonWidget,而是改以ImageButtonWidget來顯示。學(xué)習(xí)好幫手......
8、將按鈕背景圖預(yù)先Import至Drawable里(*.png圖形文件),利用這些圖片,作為ImageButton的背景圖,為了做對照,在Layout配置一個“一般按鈕”,運行結(jié)果畫面中,可以明顯看出圖片按鈕與一般按鈕在外觀上的差異。要