2018-05-09筆記

1.UI的理解................................................................

?全稱user interface ?意為:用戶界面

UI有view和viewGroup的根基類

view在屏幕上占據(jù)一片矩形區(qū)域,并會(huì)在上面進(jìn)行內(nèi)容繪制

viewGroup包含一些view或viewGrorup 用于控制字view的布局事件模型

事件是什么...............................................................

誰(shuí)是事件源? ?1.注冊(cè)--->2.觸發(fā)---->?事件源---->3.生成---->事件---->4.傳遞---->5.調(diào)用---->回調(diào)方法

誰(shuí)是事件監(jiān)聽(tīng)器?

設(shè)置監(jiān)聽(tīng)器:view.setOn...listener(listener)

2.常用的UI組件

2.1簡(jiǎn)單的UI組件

1).textview:文本視圖

android:id="@+id/tv_test1_msg"http://指定ID

android:layout_width="match_parent"http://寬度

? android:layout_height="wrap_content"http://高度

? android:text="@string/tv_content"http://文本

? ? android:textColor="#FF0000"http://文本顏色

? ? android:textSize="20sp"http://字體大小

2).edittext:可編輯的文本視圖

android:hint="請(qǐng)輸入手機(jī)號(hào)"http://默認(rèn)提示文本

? ? ? ? android:inputType="phone//輸入數(shù)據(jù)類型限定

3).button:按鈕

4).imageview:圖片視圖

android:background="@drawable/ic_launcher//背景圖片

android:src="@android:drawable/ic_media_play"http://前景圖片

// 設(shè)置背景圖片 ?public void setimageresurce(int resld)

// 設(shè)置前圖片public void setbackgroundresource(int resid)

5).checkBox:多選框

??????????? android:checked=“true”/> //標(biāo)識(shí)默認(rèn)是否勾選

//判斷當(dāng)前是否勾選

boolean isChecked()

//設(shè)置CheckBox是否勾選

void setChecked(boolean checked)

//設(shè)置選中狀態(tài)改變的監(jiān)聽(tīng)

void setOnCheckedChangeListener(OnCheckedChangeListener listener)

6).RadioGroup/RadioButton : 單選框

??????????? android:id="@+id/rg_test1_sex"

??????????? android:layout_width="fill_parent"

??????????? android:layout_height="wrap_content"

??????????? android:orientation="horizontal" >

??????????????? android:id="@+id/rb_test1_male"

??????????????? android:layout_width="wrap_content"

??????????????? android:layout_height="wrap_content"

??????????????? android:text="男" />

??????????????? android:id="@+id/rb_test1_female"

??????????????? android:layout_width="wrap_content"

??????????????? android:layout_height="wrap_content“

??????????????? android:checked="true"

??????????????? android:text="女" />

2.2菜單......................................................

* optionMenu

* 1.如何觸發(fā)Menu的顯示

*? 點(diǎn)擊Menu鍵

*2.如何向Menu中添加MenuInfalter?重寫(xiě)onCreateOptionsMenu方法

*? 1.menu。add()

*? 菜單文件

*3.選擇某個(gè)MenuItem是如何響應(yīng)

*? 重寫(xiě)onOptionsItemSelected方法

*ContextMenu

*? 1.如何觸發(fā)Menu的顯示

*? 長(zhǎng)按某個(gè)視圖,并view.setoncreatecontextMenulistener(this)

*? 2.如何向Menu中添加MenuInfalter?

*? 重寫(xiě)oncreatecontextMenu()方法用menu.add()添加(菜單文件方式也可以)

*? 3.選擇某個(gè)MenuItem是如何響應(yīng)

*? 重寫(xiě)oncontextItemSelected()根據(jù)item去響應(yīng)

*/

2.3進(jìn)度條...........................................

a.圓形

??????????? android:id="@+id/pb_test3_loading1"

??????????? android:layout_width="wrap_content"

??????????? android:layout_height="wrap_content" />

b水平

??????? android:id="@+id/pb_test3_loading2"

??????? style=“?android:attr/progressBarStyleHorizontal“??? //水平進(jìn)度條

??????? android:layout_width="match_parent“

??????? android:layout_height="wrap_content"

??????? android:progress=“2“???? //當(dāng)前進(jìn)度, 默認(rèn)為0

??????? android:max=“10”/>????? // 最大進(jìn)度, 默認(rèn)為100

?ProgressBar

???? voidsetProgress(intProgress) : 設(shè)置當(dāng)前進(jìn)度

???? int getProgress() : 得到當(dāng)前進(jìn)度

???? voidsetMax(intmax) : 設(shè)置最大進(jìn)度

???? int getMax() : 設(shè)置或得到最大進(jìn)度

?View

???? voidsetVisibility(intvisibility) : 設(shè)置視圖的可見(jiàn)性

???? View. VISIBLE :標(biāo)識(shí)可見(jiàn)

???? View. INVISIBLE :標(biāo)識(shí)不可見(jiàn), 但占屏幕空間

???? View.GONE :標(biāo)識(shí)不可見(jiàn), 也不占屏幕空間

2.seekbar

??????? android:id="@+id/sb_test3_prgress"

??????? android:layout_width="match_parent"

??????? android:layout_height="wrap_content" />

SeekBar:

setOnSeekBarChangeListener(OnSeekBarChangeListener l) ?:設(shè)置改變的監(jiān)聽(tīng)

OnSeekBarChangeListener:

???????? onProgressChanged(SeekBar seekBar, intprogress, boolean fromUser) : 進(jìn)度改變

???????? onStartTrackingTouch(SeekBar seekBar) : 按下滑桿

???????? onStopTrackingTouch(SeekBar seekBar) : 從滑桿離開(kāi)

S;

2.4對(duì)話框

1.API結(jié)構(gòu)

2.alerdialog

a.一般的

AlertDialog ?:

???? show()?? :顯示警告框

???? 沒(méi)有公開(kāi)的構(gòu)造方法, 只能通過(guò)其內(nèi)部類Builder來(lái)創(chuàng)建

AlertDialog.Builder:??

???? create() :創(chuàng)建AlertDialog對(duì)象

???? show()

: 創(chuàng)建AlertDialog對(duì)象, 同時(shí)將其顯示出來(lái)

??? ?setTitle(CharSequencetitle) : 設(shè)置標(biāo)題

???? setMessage(CharSequencemessage) : 設(shè)置內(nèi)容

???? setPositiveButton(String

text, OnClickListener listener) : 設(shè)置正面按鈕

???? setNegativeButton(String

text, OnClickListener listener): 設(shè)置負(fù)面按鈕

???? dismiss() : 移除dialog

???? setSingleChoiceItems(….)設(shè)置單選項(xiàng)列表

AlertDialog ?:

???? show()?? :顯示警告框

???? 沒(méi)有公開(kāi)的構(gòu)造方法, 只能通過(guò)其內(nèi)部類Builder來(lái)創(chuàng)建

AlertDialog.Builder:??

???? create() :創(chuàng)建AlertDialog對(duì)象

???? show()

: 創(chuàng)建AlertDialog對(duì)象, 同時(shí)將其顯示出來(lái)

??? ?setTitle(CharSequencetitle) : 設(shè)置標(biāo)題

???? setMessage(CharSequencemessage) : 設(shè)置內(nèi)容

???? setPositiveButton(String

text, OnClickListener listener) : 設(shè)置正面按鈕

???? setNegativeButton(String

text, OnClickListener listener): 設(shè)置負(fù)面按鈕

???? dismiss() : 移除dialog

b自定義布局

AlertDialog ?:

???? show()?? :顯示警告框

???? 沒(méi)有公開(kāi)的構(gòu)造方法, 只能通過(guò)其內(nèi)部類Builder來(lái)創(chuàng)建

AlertDialog.Builder:??

???? create() :創(chuàng)建AlertDialog對(duì)象

???? show()

: 創(chuàng)建AlertDialog對(duì)象, 同時(shí)將其顯示出來(lái)

??? ?setTitle(CharSequencetitle) : 設(shè)置標(biāo)題

???? setMessage(CharSequencemessage) : 設(shè)置內(nèi)容

???? setPositiveButton(String

text, OnClickListener listener) : 設(shè)置正面按鈕

???? setNegativeButton(String

text, OnClickListener listener): 設(shè)置負(fù)面按鈕

???? dismiss() : 移除dialog

???? setSingleChoiceItems(….)設(shè)置單選項(xiàng)列表

???? setSingleChoiceItems(….)設(shè)置單選項(xiàng)列表

AlertDialog ?:水平進(jìn)度

???? show()?? :顯示警告框

???? 沒(méi)有公開(kāi)的構(gòu)造方法, 只能通過(guò)其內(nèi)部類Builder來(lái)創(chuàng)建

AlertDialog.Builder:??

???? create() :創(chuàng)建AlertDialog對(duì)象

???? show()

: 創(chuàng)建AlertDialog對(duì)象, 同時(shí)將其顯示出來(lái)

??? ?setTitle(CharSequencetitle) : 設(shè)置標(biāo)題

???? setMessage(CharSequencemessage) : 設(shè)置內(nèi)容

???? setPositiveButton(String

text, OnClickListener listener) : 設(shè)置正面按鈕

???? setNegativeButton(String

text, OnClickListener listener): 設(shè)置負(fù)面按鈕

???? dismiss() : 移除dialog

???? setSingleChoiceItems(….)設(shè)置單選項(xiàng)列表

方式一

new Thread(){

?????? public voidrun(){

???????????? //下面的代碼在分線程執(zhí)行

?????? }

}.start();

方式二

new Thread(new Runnable(){

???????? public voidrun(){

???????????? //下面的代碼在分線程執(zhí)行

?????? }

}).start();

根據(jù)ID查找view對(duì)象

a.查找當(dāng)前界面中的view對(duì)象:findviewbyid(id)

b.查找某個(gè)view對(duì)象的自view:viewfindviewbyid

更新視圖

a.不能在分線程直接更新UI

toast不能再分現(xiàn)程顯示

但progressDialog可以在分線程更新

b.長(zhǎng)時(shí)間的工作職能放在分線程執(zhí)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容