免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么

這篇文章給大家介紹Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的華龍網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

一般情況下,Android對于特定的布局界面,會自動得出一個合適的控件焦點(diǎn)順序,很多情況下是足夠用的了。但是在有的情況下是有例外的。控件的下一個焦點(diǎn)會到達(dá)哪一個控件,主要是判斷當(dāng)前控件在指定的方向布局上(up/down/left/right),哪一個是最領(lǐng)近的控件,其掃描順序?yàn)閺淖蟮接遥瑥纳系较拢拖笃綍r(shí)閱讀書籍一樣。

然而,這種順序有時(shí)會帶來一點(diǎn)小問題,比如當(dāng)控件都布置在屏幕的上方時(shí),如果用戶再按“up”鍵,則不會有任何效果,同樣,當(dāng)控件都在屏幕下方、左邊、右邊時(shí),此時(shí)再按如“down”、“Left”,“Right”鍵時(shí)都不會再獲得控件的焦點(diǎn)。

在本文的例子中,將講解如何修改默認(rèn)的控件焦點(diǎn)順序,以定制特定的控件切換順序,例子中,多個按鈕以一個圓形進(jìn)行了排列,例子可以在

http://android-mt-tutorials.googlecode.com/svn/trunk/SimpleFocus中下載。

步驟1 定義界面布局

我們先設(shè)計(jì)出界面的布局,代碼如下,使用的是Relative相對布局:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent">     <Button         style="@style/clockFaceNum"         android:text="12"         android:id="@+id/button12"         android:layout_alignParentTop="true"         android:layout_centerHorizontal="true">     </Button>     <Button         style="@style/clockFaceNum"         android:text="11"         android:id="@+id/button11"         android:layout_below="@+id/button12"         android:layout_toLeftOf="@+id/button12">     </Button>     <Button         style="@style/clockFaceNum"         android:text="1"         android:id="@+id/button1"         android:layout_below="@+id/button12"         android:layout_toRightOf="@+id/button12">     </Button>     <Button         style="@style/clockFaceNum"         android:text="10"         android:id="@+id/button10"         android:layout_below="@+id/button11"         android:layout_toLeftOf="@+id/button11">     </Button>     <Button         style="@style/clockFaceNum"         android:text="2"         android:id="@+id/button2"         android:layout_below="@+id/button1"         android:layout_toRightOf="@+id/button1">     </Button>     <Button         style="@style/clockFaceNum"         android:text="9"         android:id="@+id/button9"         android:layout_below="@+id/button10"         android:layout_toLeftOf="@+id/button10">     </Button>      <Button         style="@style/clockFaceNum"         android:text="3"         android:id="@+id/button3"         android:layout_below="@+id/button2"         android:layout_toRightOf="@+id/button2">     </Button>     <Button         style="@style/clockFaceNum"         android:text="8"         android:id="@+id/button8"         android:layout_below="@+id/button9"         android:layout_toRightOf="@+id/button9">     </Button>     <Button         style="@style/clockFaceNum"         android:text="4"         android:id="@+id/button4"         android:layout_below="@+id/button3"         android:layout_toLeftOf="@+id/button3">     </Button>     <Button         style="@style/clockFaceNum"         android:text="7"         android:id="@+id/button7"         android:layout_below="@+id/button8"         android:layout_toRightOf="@+id/button8">     </Button>     <Button         style="@style/clockFaceNum"         android:text="5"         android:id="@+id/button5"         android:layout_below="@+id/button4"         android:layout_toLeftOf="@+id/button4">     </Button>     <Button         style="@style/clockFaceNum"         android:text="6"         android:id="@+id/button6"         android:layout_below="@+id/button5"         android:layout_centerHorizontal="true">     </Button> </RelativeLayout>

上面定義的style文件如下:

<?xml version="1.0" encoding="utf-8"?> <resources>     <style         name="clockFaceNum">         <item             name="android:layout_width">38dp</item>         <item             name="android:layout_height">38dp</item>         <item             name="android:onClick">numClicked</item>         <item             name="android:textSize">9sp</item>     </style> </resources>

運(yùn)行后,效果如下圖:

Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么

步驟2 默認(rèn)的控件焦點(diǎn)切換順序

比如當(dāng)用戶將控件焦點(diǎn)點(diǎn)在12號按鈕時(shí),點(diǎn)往下的“down”按鈕,默認(rèn)的控件焦點(diǎn)切換順序如下圖:

Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么

也就是說,當(dāng)在按鈕12上往下按的時(shí)候,控件的焦點(diǎn)會切換到11,接著就是鍵10,如此類推。

步驟3 創(chuàng)建自定義的控件焦點(diǎn)順序

下面,我們嘗試創(chuàng)建自定義的控件焦點(diǎn)順序,即同時(shí)允許在上面的界面中,當(dāng)用戶按鍵時(shí),以順時(shí)針或逆時(shí)針進(jìn)行控件切換,如下圖:

Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么

也就是說,允許用戶當(dāng)按“Down”或“Right”鍵時(shí),切換順序是順時(shí)針方向,比如假設(shè)當(dāng)前在鍵12上,按“Down”或“Right”鍵時(shí),會切換到鍵1,而按“Up”或”Left”時(shí),會切換到鍵11,如此類推。要實(shí)現(xiàn)這點(diǎn),可以在每個按鈕中進(jìn)行設(shè)置如下四個屬性:

android:nextFocusUp- 定義當(dāng)點(diǎn)up鍵時(shí),哪個控件將獲得焦點(diǎn)

android:nextFocusDown-定義當(dāng)點(diǎn)down鍵時(shí),哪個控件將獲得焦點(diǎn)

android:nextFocusLeft-定義當(dāng)點(diǎn)left鍵時(shí),哪個控件將獲得焦點(diǎn)

android:nextFocusRight--定義當(dāng)點(diǎn)right鍵時(shí),哪個控件將獲得焦點(diǎn)

下面是其代碼:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent">     <Button         style="@style/clockFaceNum"         android:text="12"         android:id="@+id/button12"         android:layout_alignParentTop="true"         android:layout_centerHorizontal="true"         android:nextFocusUp="@+id/button11"         android:nextFocusLeft="@+id/button11"         android:nextFocusRight="@+id/button1"         android:nextFocusDown="@+id/button1">     </Button>     <Button         style="@style/clockFaceNum"         android:text="11"         android:id="@+id/button11"         android:layout_below="@+id/button12"         android:layout_toLeftOf="@+id/button12"         android:nextFocusUp="@+id/button10"         android:nextFocusLeft="@+id/button10"         android:nextFocusRight="@+id/button12"         android:nextFocusDown="@+id/button12">     </Button>     <Button         style="@style/clockFaceNum"         android:text="1"         android:id="@+id/button1"         android:layout_below="@+id/button12"         android:layout_toRightOf="@+id/button12"         android:nextFocusUp="@+id/button12"         android:nextFocusLeft="@+id/button12"         android:nextFocusRight="@+id/button2"         android:nextFocusDown="@+id/button2">     </Button>     <Button         style="@style/clockFaceNum"         android:text="10"         android:id="@+id/button10"         android:layout_below="@+id/button11"         android:layout_toLeftOf="@+id/button11"         android:nextFocusUp="@+id/button9"         android:nextFocusLeft="@+id/button9"         android:nextFocusRight="@+id/button11"         android:nextFocusDown="@+id/button11">     </Button>     <Button         style="@style/clockFaceNum"         android:text="2"         android:id="@+id/button2"         android:layout_below="@+id/button1"         android:layout_toRightOf="@+id/button1"         android:nextFocusUp="@+id/button1"         android:nextFocusLeft="@+id/button1"         android:nextFocusRight="@+id/button3"         android:nextFocusDown="@+id/button3">     </Button>     <Button         style="@style/clockFaceNum"         android:text="9"         android:id="@+id/button9"         android:layout_below="@+id/button10"         android:layout_toLeftOf="@+id/button10"         android:nextFocusUp="@+id/button8"         android:nextFocusLeft="@+id/button8"         android:nextFocusRight="@+id/button10"         android:nextFocusDown="@+id/button10">     </Button>      <Button         style="@style/clockFaceNum"         android:text="3"         android:id="@+id/button3"         android:layout_below="@+id/button2"         android:layout_toRightOf="@+id/button2"         android:nextFocusUp="@+id/button2"         android:nextFocusLeft="@+id/button2"         android:nextFocusRight="@+id/button4"         android:nextFocusDown="@+id/button4">     </Button>     <Button         style="@style/clockFaceNum"         android:text="8"         android:id="@+id/button8"         android:layout_below="@+id/button9"         android:layout_toRightOf="@+id/button9"         android:nextFocusUp="@+id/button7"         android:nextFocusLeft="@+id/button7"         android:nextFocusRight="@+id/button9"         android:nextFocusDown="@+id/button9">     </Button>     <Button         style="@style/clockFaceNum"         android:text="4"         android:id="@+id/button4"         android:layout_below="@+id/button3"         android:layout_toLeftOf="@+id/button3"         android:nextFocusUp="@+id/button3"         android:nextFocusLeft="@+id/button3"         android:nextFocusRight="@+id/button5"         android:nextFocusDown="@+id/button5">     </Button>     <Button         style="@style/clockFaceNum"         android:text="7"         android:id="@+id/button7"         android:layout_below="@+id/button8"         android:layout_toRightOf="@+id/button8"         android:nextFocusUp="@+id/button6"         android:nextFocusLeft="@+id/button6"         android:nextFocusRight="@+id/button8"         android:nextFocusDown="@+id/button8">     </Button>     <Button         style="@style/clockFaceNum"         android:text="5"         android:id="@+id/button5"         android:layout_below="@+id/button4"         android:layout_toLeftOf="@+id/button4"         android:nextFocusUp="@+id/button4"         android:nextFocusLeft="@+id/button4"         android:nextFocusRight="@+id/button6"         android:nextFocusDown="@+id/button6">     </Button>     <Button         style="@style/clockFaceNum"         android:text="6"         android:id="@+id/button6"         android:layout_below="@+id/button5"         android:layout_centerHorizontal="true"         android:nextFocusUp="@+id/button5"         android:nextFocusLeft="@+id/button5"         android:nextFocusRight="@+id/button7"         android:nextFocusDown="@+id/button7">     </Button> </RelativeLayout>

下圖中是假定在鍵12開始按down鍵時(shí)的焦點(diǎn)切換順序:

Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么

步驟4 設(shè)置界面的初始控件焦點(diǎn)

在每個頁面加載時(shí),可以設(shè)置界面中初始的控件焦點(diǎn),以方便用戶的定位操作,只需要在控件中加入即可。比如:

<Button         style="@style/clockFaceNum"         android:text="12"         android:id="@+id/button12"         android:layout_alignParentTop="true"         android:layout_centerHorizontal="true"         android:nextFocusUp="@+id/button11"         android:nextFocusLeft="@+id/button11"         android:nextFocusRight="@+id/button1"         android:nextFocusDown="@+id/button1">         <requestFocus />     </Button>

作為開發(fā)者,一定要記住由于Android設(shè)備的多樣性,用戶如何在界面上方便地進(jìn)行輸入或在不同的控件中來回切換是十分重要的,本文簡單介紹了用戶如何自定義控件的焦點(diǎn)切換順序,這對于用戶界面的體驗(yàn)是很有好處的。

關(guān)于Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)站欄目:Android界面設(shè)計(jì)基礎(chǔ)中控件焦點(diǎn)的步驟是什么
本文URL:http://m.newbst.com/article8/jhsiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站企業(yè)建站動態(tài)網(wǎng)站靜態(tài)網(wǎng)站電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化