欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當(dāng)前位置:首頁 > 網(wǎng)站建設(shè) > 正文內(nèi)容

htmlbutton獲取焦點(diǎn)(html文本框獲取焦點(diǎn))

網(wǎng)站建設(shè)1年前 (2024-01-10)391

介紹AlertDialog對話框從簡到繁的多種設(shè)計方案,從新角度理解UI交互設(shè)計。

AlertDialog對話框允許自定義彈出對話框的內(nèi)容,實(shí)現(xiàn)比之前講解的幾種對話框更豐富的功能。

01

帶默認(rèn)按鈕的AlertDialog

展開全文

程序單擊按鈕后執(zhí)行第17行代碼,調(diào)用自定義方法showAlertDialog。

第22~62行是自定義showAlertDialog方法。調(diào)用AlertDialog的順序是先定義Builder;對Builder調(diào)用相關(guān)方法設(shè)定屬性;定義默認(rèn)按鈕及單擊監(jiān)聽器;調(diào)用Builder的create方法生成AlertDialog;最后調(diào)用AlertDialog的show方法顯示對話框。

第24行初始化builder,此時builder擁有AlertDialog對話框的默認(rèn)主題。

第25行調(diào)用setTitle方法設(shè)置對話框的標(biāo)題。

第26行調(diào)用setMessage方法設(shè)置對話框的提示信息。

第27行調(diào)用setIcon方法設(shè)置對話框圖標(biāo)。

第30~37行添加PositiveButton按鈕,其中setPositiveButton方法的第一個參數(shù)是按鈕的顯示文本。為了便于閱讀代碼,此按鈕文本盡量采用確定語氣的文字,如“是”“確定”等。第二個參數(shù)是按鈕的單擊監(jiān)聽器。單擊此按鈕將自動關(guān)閉對話框,同時執(zhí)行第35行代碼,在文本輸入框editText1中顯示信息。變量which是PositiveButton按鈕的int型返回值。

第40~57行以同樣的方式設(shè)置“取消”和“中間”按鈕。不同的Android版本3個按鈕的外觀和位置會有差異。每個對話框可以設(shè)置1~3個對話框默認(rèn)按鈕,也可以不設(shè)置按鈕。

第58行的作用是單擊對話框以外的區(qū)域,對話框仍然顯示在最上層。默認(rèn)值為true,單擊對話框以外的區(qū)域,對話框?qū)⒈徽趽酢?/p>

第59行調(diào)用builder的create方法生成alertDialog1對話框。

第60行調(diào)用alertDialog1的show方法顯示對話框。

帶默認(rèn)按鈕的AlertDialog運(yùn)行結(jié)果如圖4-84和圖4-85所示。

■ 圖4-84彈出帶默認(rèn)按鈕的AlertDialog

■ 圖4-85返回對話框按鈕信息

02

列表的AlertDialog

AlertDialog除了默認(rèn)主題的對話框形式外,還支持多種類型的對話框。本案例講解列表風(fēng)格的AlertDialog。

本案例的大多數(shù)代碼與4.24.1節(jié)案例的代碼類似,不同點(diǎn)在第29行,setItems方法將對話框設(shè)置為選項列表風(fēng)格。第一個參數(shù)是用于填充下拉選項列表的字符串?dāng)?shù)組str,str數(shù)組在第4行定義。第二個參數(shù)為單擊監(jiān)聽器,處理單擊選項后的觸發(fā)事件。

第34行的OnClick方法以變量which(單擊選項列表返回的選中項索引值)為字符串?dāng)?shù)組str的索引,獲取對應(yīng)選中列表中的文本,并將其傳遞給editText1。

列表風(fēng)格的AlertDialog運(yùn)行結(jié)果如圖4-86和圖4-87所示。

■ 圖4-86彈出列表風(fēng)格的AlertDialog

■ 圖4-87返回列表風(fēng)格的AlertDialog的選擇信息

03

單選的AlertDialog

單選的AlertDialog是指彈出的對話框顯示單選按鈕風(fēng)格的AlertDialog。

第4行定義用于單選列表的字符串?dāng)?shù)組str。

第5行的變量num用于記錄單選風(fēng)格對話框中選中項的索引值。

關(guān)鍵代碼在第31行,setSingleChoiceItems方法將對話框設(shè)置為單選按鈕風(fēng)格。其中第二個參數(shù)checkedItem是設(shè)置單選按鈕列表選中項的索引值,如果是-1則所有單選按鈕都設(shè)置為未選。

第34行的變量which是單選按鈕列表的索引值,也是選中項對應(yīng)字符串?dāng)?shù)組str的索引值。

第45行的變量which是AlertDialog對話框中按鈕被單擊時返回按鈕所對應(yīng)的int型數(shù)值,與第34行的which含義是不同的。

如果去掉第38行的注釋,在彈出的對話框中選中單選項后,cancel方法將關(guān)閉對話框而無須再單擊“確定”按鈕,也就不會執(zhí)行第42~50行的代碼。

單選的AlertDialog運(yùn)行結(jié)果如圖4-88所示。

■ 圖4-88單選的AlertDialog運(yùn)行結(jié)果

04

復(fù)選的AlertDialog

復(fù)選的AlertDialog是指彈出的對話框顯示復(fù)選框風(fēng)格的AlertDialog。

第4行定義用于復(fù)選框列表的字符串?dāng)?shù)組str。

第5行的布爾型數(shù)組flags定義了str數(shù)組在復(fù)選框列表中的選中狀態(tài),true為選中。flags數(shù)組的長度應(yīng)與str數(shù)組長度相同。如果flags數(shù)組長度小于str數(shù)組長度,程序運(yùn)行到第30行綁定兩個數(shù)組到builder時會出錯。如果flags數(shù)組長度大于str數(shù)組長度,程序運(yùn)行到第45行取flags數(shù)組的長度,執(zhí)行到第48行可能會因數(shù)組索引超出str數(shù)組范圍而出錯,只要將第45行的flags.length改成str.length程序就能正常運(yùn)行。

第30行的setMultiChoiceItems方法將AlertDialog設(shè)置為復(fù)選框列表。

第35行將復(fù)選項的變動值(true或false)同步到flags數(shù)組的對應(yīng)項。

第45行使用for循環(huán)遍歷數(shù)組flags,狀態(tài)為true的索引項返回str數(shù)組的對應(yīng)值。

第50行將對話框的返回結(jié)果傳遞給editText1。

第53~54行調(diào)用builder的create方法生成alertDialog1,再調(diào)用show方法顯示對話框。

05

自定義控件

目前為止已經(jīng)介紹了多種對話框,這些對話框的內(nèi)置控件都是定制好的。本案例講解自定義對話框中的控件。為便于講解,對話框中的控件只加入EditText和Button,讀者理解設(shè)計方式后可自行添加所需控件。

第17~19行通過自定義showAlertDialog方法的不同參數(shù)調(diào)用不同形式的自定義對話框。

當(dāng)參數(shù)為10時執(zhí)行第29行開始的代碼,實(shí)現(xiàn)動態(tài)添加控件,常用于對布局要求不高的場景。第30行使用EditText的構(gòu)造方法生成一個文本輸入框editTextName。第31行將生成的editTextName文本輸入框添加到builder中。第32行添加對話框的標(biāo)題。第33行添加“確定”按鈕,按鈕的單擊監(jiān)聽器將對話框中的editTextName內(nèi)容傳回main.xml布局文件中的editText1中。

當(dāng)參數(shù)為20時執(zhí)行第42行開始的代碼。此時調(diào)用已經(jīng)設(shè)計好的布局文件login.xml。第43行聲明LayoutInflater類型的變量inflater20。第44行使用inflate方法將login.xml中名為linearLayoutLogin的線性布局作為View填充到viewLogin20。第45行是將builder的一系列方法放在一行中連續(xù)調(diào)用。相關(guān)按鈕的監(jiān)聽器都設(shè)置為null,單擊這些按鈕就只能執(zhí)行默認(rèn)的關(guān)閉對話框操作。

當(dāng)參數(shù)為30時執(zhí)行第47行開始的代碼,是對方法一的完善,可以返回文本輸入框中的文字內(nèi)容。實(shí)現(xiàn)的方式是重寫按鈕單擊監(jiān)聽器代碼。在第57行的findViewById方法前加了viewLogin30限定。第49行viewLogin30對應(yīng)的是login.xml布局文件的linearLayoutLogin。如果沒有viewLogin30前綴,查找R.id.editTextName從main.xml中查詢,找不到程序就會出錯退出。如果兩個文件中控件重名,沒有viewLogin30前綴的findViewById方法取回的就是main.xml布局文件中的控件。

帶自定義控件AlertDialog運(yùn)行結(jié)果如圖4-89和圖4-90所示。

■ 圖4-89彈出帶自定義控件AlertDialog

■ 圖4-90返回帶自定義控件AlertDialog信息

【注】

Spinner、AutoCompleteTextView和AlertDialog都支持類似的彈出框功能,使用時注意各自的優(yōu)缺點(diǎn)和使用場景。

實(shí)例講解

Android項目開發(fā)基礎(chǔ)與實(shí)戰(zhàn)

精彩回顧

教學(xué)輔助系統(tǒng)使用

Android項目開發(fā)相關(guān)Java基本概念

約束布局

TextView控件

Button控件

RadioButton控件

精彩預(yù)告

Activity

Broadcast

數(shù)據(jù)庫調(diào)試

?

06

視頻講解

掃碼即可觀看視頻,限時免費(fèi)3天

07

參考書籍

《Android項目開發(fā)基礎(chǔ)與實(shí)戰(zhàn)(微課視頻版)》

作者:夏江

定價:59.9元

內(nèi)容簡介

本書結(jié)合作者多年講授“Android應(yīng)用軟件開發(fā)”課程的教學(xué)經(jīng)驗,融入Android開發(fā)領(lǐng)域新技術(shù),較為全面地介紹了Android應(yīng)用軟件開發(fā)的相關(guān)知識點(diǎn)和開發(fā)技巧。全書共分5章,分別介紹了Android開發(fā)環(huán)境、Android項目及Java基本概念、Android常用布局、Android常用控件和其他常用編程技術(shù)。本書相關(guān)案例以Android Studio為開發(fā)環(huán)境,盡可能使用最新版本SDK命令替代棄用命令,并對控件的版本變化做大致的介紹。本書全面考慮了本科教學(xué)的特點(diǎn),結(jié)合作者開發(fā)的案例庫教學(xué)輔助系統(tǒng),通過精心設(shè)計的案例和詳盡的講解、演示,讓讀者感受體驗式教學(xué)的魅力。本書適合Android Studio開發(fā)人員、Android的入門讀者、高等學(xué)校學(xué)生使用,還可以作為高等院校、相關(guān)培訓(xùn)機(jī)構(gòu)的教學(xué)用書。

08

精彩推薦

微信小程序游戲開發(fā)│猜數(shù)字小游戲(附源碼+視頻)

Flink編程基礎(chǔ)│Scala編程初級實(shí)踐

Flink編程基礎(chǔ)│FlinkCEP編程實(shí)踐

Flink編程基礎(chǔ)│DataStream API編程實(shí)踐

Flink編程基礎(chǔ)│DataSet API編程實(shí)踐

數(shù) 據(jù)分析實(shí)戰(zhàn)│客戶價值分析

數(shù)據(jù)分析實(shí)戰(zhàn)│價格預(yù)測挑戰(zhàn)

數(shù)據(jù)分析實(shí)戰(zhàn)│時間序列預(yù)測

數(shù)據(jù)分析實(shí)戰(zhàn)│KaggleTitanic生存預(yù)測

微信小程序游戲開發(fā)│猜數(shù)字小游戲(附源碼+視頻)

Flink編程基礎(chǔ)│Scala編程初級實(shí)踐

Flink編程基礎(chǔ)│FlinkCEP編程實(shí)踐

Flink編程基礎(chǔ)│DataStream API編程實(shí)踐

Flink編程基礎(chǔ)│DataSet API編程實(shí)踐

數(shù) 據(jù)分析實(shí)戰(zhàn)│客戶價值分析

數(shù)據(jù)分析實(shí)戰(zhàn)│價格預(yù)測挑戰(zhàn)

數(shù)據(jù)分析實(shí)戰(zhàn)│時間序列預(yù)測

數(shù)據(jù)分析實(shí)戰(zhàn)│KaggleTitanic生存預(yù)測

htmlbutton獲取焦點(diǎn)(html文本框獲取焦點(diǎn))

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.landcheck.net/post/78187.html

“htmlbutton獲取焦點(diǎn)(html文本框獲取焦點(diǎn))” 的相關(guān)文章

專業(yè)網(wǎng)站制作公司(專業(yè)網(wǎng)站制作公司招聘)

專業(yè)網(wǎng)站制作公司(專業(yè)網(wǎng)站制作公司招聘)

本篇文章給大家談?wù)剬I(yè)網(wǎng)站制作公司,以及專業(yè)網(wǎng)站制作公司招聘對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、網(wǎng)站制作哪家公司好 2、網(wǎng)站制作哪家靠譜 3、好網(wǎng)站制作公司 網(wǎng)站制作哪家公司好 增長超人Growthman網(wǎng)站制作公司。增長超人Growthman是國內(nèi)...

寶雞網(wǎng)站建設(shè)的簡單介紹

寶雞網(wǎng)站建設(shè)的簡單介紹

本篇文章給大家談?wù)剬氹u網(wǎng)站建設(shè),以及對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、我們公司想做一個網(wǎng)站,想找一家價格公道,質(zhì)量保證的網(wǎng)絡(luò)公司來為我們服務(wù),有建議者留下聯(lián)系方式 2、寶雞網(wǎng)站建設(shè) 網(wǎng)站優(yōu)化,網(wǎng)站推廣公司哪個比較好點(diǎn),主要是網(wǎng)站優(yōu)化要好 3、寶雞網(wǎng)站...

深圳?網(wǎng)站制作(深圳網(wǎng)站制作)

深圳?網(wǎng)站制作(深圳網(wǎng)站制作)

今天給各位分享深圳?網(wǎng)站制作的知識,其中也會對深圳網(wǎng)站制作進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、廣州深圳做網(wǎng)站開發(fā)、網(wǎng)頁制作、網(wǎng)頁設(shè)計一般價格是怎么樣的? 2、深圳網(wǎng)站設(shè)計公司哪家比較好? 3、深圳網(wǎng)站建設(shè)多少錢 4、網(wǎng)站制作哪家靠譜...

個人介紹網(wǎng)頁模板免費(fèi)下載(個人簡介模板word下載)

個人介紹網(wǎng)頁模板免費(fèi)下載(個人簡介模板word下載)

本篇文章給大家談?wù)剛€人介紹網(wǎng)頁模板免費(fèi)下載,以及個人簡介模板word下載對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、個人簡介怎么寫最好模板 2、求一個個人網(wǎng)站的模板~ 3、個人簡歷自我介紹PPT模板 4、精美html個人網(wǎng)頁模板下載, 個人簡介怎么寫最好...

html靜態(tài)網(wǎng)站部署(靜態(tài)網(wǎng)頁搭建)

html靜態(tài)網(wǎng)站部署(靜態(tài)網(wǎng)頁搭建)

本篇文章給大家談?wù)刪tml靜態(tài)網(wǎng)站部署,以及靜態(tài)網(wǎng)頁搭建對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、純html項目需要單獨(dú)部署到服務(wù)器嗎? 2、把自己的靜態(tài)網(wǎng)頁放到網(wǎng)上 3、我用HTML做好的靜態(tài)網(wǎng)頁,怎樣才能放到網(wǎng)上,用不同的手機(jī)或電腦通過 4、如何建立...

考研復(fù)試英語自我介紹模板中文(考研復(fù)試的英語自我介紹模板)

考研復(fù)試英語自我介紹模板中文(考研復(fù)試的英語自我介紹模板)

本篇文章給大家談?wù)効佳袕?fù)試英語自我介紹模板中文,以及考研復(fù)試的英語自我介紹模板對應(yīng)的知識點(diǎn),希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、考研復(fù)試英語自我介紹 2、求研究生復(fù)試的英語自我介紹 3、考研復(fù)試英語面試英語自我介紹經(jīng)典模板帶中文翻譯資料 4、研究生復(fù)試 英語自我...