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í)行