新聞中心
Android設(shè)備有多種多樣,操縱界面也有所不同,比如有觸摸屏、軌跡球,傳統(tǒng)的手機(jī)鍵盤等,因此開發(fā)者需要更好地了解,當(dāng)用戶在應(yīng)用程序界面中的不同控件間移動(dòng)時(shí),各個(gè)控件的獲得焦點(diǎn)和失去焦點(diǎn)的順序,以及如何根據(jù)用戶的操作習(xí)慣去自定義這些順序。

成都創(chuàng)新互聯(lián)公司專注于周口網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供周口營銷型網(wǎng)站建設(shè),周口網(wǎng)站制作、周口網(wǎng)頁設(shè)計(jì)、周口網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造周口網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供周口網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
一般情況下,Android對于特定的布局界面,會(huì)自動(dòng)得出一個(gè)合適的控件焦點(diǎn)順序,很多情況下是足夠用的了。但是在有的情況下是有例外的。控件的下一個(gè)焦點(diǎn)會(huì)到達(dá)哪一個(gè)控件,主要是判斷當(dāng)前控件在指定的方向布局上(up/down/left/right),哪一個(gè)是最領(lǐng)近的控件,其掃描順序?yàn)閺淖蟮接?,從上到下,就象平時(shí)閱讀書籍一樣。
然而,這種順序有時(shí)會(huì)帶來一點(diǎn)小問題,比如當(dāng)控件都布置在屏幕的上方時(shí),如果用戶再按“up”鍵,則不會(huì)有任何效果,同樣,當(dāng)控件都在屏幕下方、左邊、右邊時(shí),此時(shí)再按如“down”、“Left”,“Right”鍵時(shí)都不會(huì)再獲得控件的焦點(diǎn)。
在本文的例子中,將講解如何修改默認(rèn)的控件焦點(diǎn)順序,以定制特定的控件切換順序,例子中,多個(gè)按鈕以一個(gè)圓形進(jìn)行了排列,例子可以在
http://android-mt-tutorials.googlecode.com/svn/trunk/SimpleFocus中下載。
步驟1 定義界面布局
我們先設(shè)計(jì)出界面的布局,代碼如下,使用的是Relative相對布局:
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
上面定義的style文件如下:
運(yùn)行后,效果如下圖:
步驟2 默認(rèn)的控件焦點(diǎn)切換順序
比如當(dāng)用戶將控件焦點(diǎn)點(diǎn)在12號(hào)按鈕時(shí),點(diǎn)往下的“down”按鈕,默認(rèn)的控件焦點(diǎn)切換順序如下圖:
也就是說,當(dāng)在按鈕12上往下按的時(shí)候,控件的焦點(diǎn)會(huì)切換到11,接著就是鍵10,如此類推。
步驟3 創(chuàng)建自定義的控件焦點(diǎn)順序
下面,我們嘗試創(chuàng)建自定義的控件焦點(diǎn)順序,即同時(shí)允許在上面的界面中,當(dāng)用戶按鍵時(shí),以順時(shí)針或逆時(shí)針進(jìn)行控件切換,如下圖:
也就是說,允許用戶當(dāng)按“Down”或“Right”鍵時(shí),切換順序是順時(shí)針方向,比如假設(shè)當(dāng)前在鍵12上,按“Down”或“Right”鍵時(shí),會(huì)切換到鍵1,而按“Up”或”Left”時(shí),會(huì)切換到鍵11,如此類推。要實(shí)現(xiàn)這點(diǎn),可以在每個(gè)按鈕中進(jìn)行設(shè)置如下四個(gè)屬性:
android:nextFocusUp- 定義當(dāng)點(diǎn)up鍵時(shí),哪個(gè)控件將獲得焦點(diǎn)
android:nextFocusDown-定義當(dāng)點(diǎn)down鍵時(shí),哪個(gè)控件將獲得焦點(diǎn)
android:nextFocusLeft-定義當(dāng)點(diǎn)left鍵時(shí),哪個(gè)控件將獲得焦點(diǎn)
android:nextFocusRight--定義當(dāng)點(diǎn)right鍵時(shí),哪個(gè)控件將獲得焦點(diǎn)
下面是其代碼:
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
下圖中是假定在鍵12開始按down鍵時(shí)的焦點(diǎn)切換順序:
步驟4 設(shè)置界面的初始控件焦點(diǎn)
在每個(gè)頁面加載時(shí),可以設(shè)置界面中初始的控件焦點(diǎn),以方便用戶的定位操作,只需要在控件中加入即可。比如:
小結(jié)
作為開發(fā)者,一定要記住由于Android設(shè)備的多樣性,用戶如何在界面上方便地進(jìn)行輸入或在不同的控件中來回切換是十分重要的,本文簡單介紹了用戶如何自定義控件的焦點(diǎn)切換順序,這對于用戶界面的體驗(yàn)是很有好處的。
網(wǎng)站標(biāo)題:Android界面設(shè)計(jì)基礎(chǔ):控件焦點(diǎn)4個(gè)步驟
網(wǎng)站地址:http://www.5511xx.com/article/djpcjpo.html


咨詢
建站咨詢
