Android之UI開(kāi)發(fā)

目錄:

1.TextView

2.Button

3.EditText

4.ImageView

5.ProgressBar

6.AlertDialog

7.ProgressDialog

1.線性布局? LinearLayout

2.相對(duì)布局? RelativeLayout

創(chuàng)建自定義控件

最常用和最難用的控件 : ListView

常用控件的使用方法:

1.TextView

在界面上顯示一段文本信息

layout_width? 寬度?

layout_height? 高度

match_parent? 當(dāng)前控件大小與父布局的大小一樣,父布局決定當(dāng)前控件大小 (同 fill_parent)

wrap_content? 讓當(dāng)前控件大小能夠剛好包含住里面的內(nèi)容,控件內(nèi)容決定當(dāng)前控件大小

android:gravity="center"? 指定文字對(duì)齊方式,可選“top、bottom、left、right、center”,可以用“|”來(lái)同時(shí)指定多個(gè)值,

android:textSize="24sp"? 指定文字大小? 單位? sp

android:textColor="#00ff00"? 指定文字顏色

2.Button

可以注冊(cè)監(jiān)聽(tīng)器

Button button = (Button) findViewById(R.id.button);

button.setOnClickListener(newView.OnClickListener() {

??? @Override

??? public voidonClick(View view) {

??? // 在此添加邏輯

??? }

});

3.EditText

android:hint="Type something here"??? 類似? 請(qǐng)輸入密碼,點(diǎn)擊消失

android:maxLines="2"??? 最多顯示兩行,超過(guò)文本會(huì)向上滾動(dòng)

4.ImageView

四行代碼,一個(gè)圖片,報(bào)錯(cuò)……

目前沒(méi)有解決~

解決了:是因?yàn)閳D片格式的問(wèn)題,圖片本是jpg,我強(qiáng)行改成png就報(bào)錯(cuò)了,改回去就可以了……

5.ProgressBar

用于在界面上顯示一個(gè)進(jìn)度條,表示程序正在加載一些數(shù)據(jù)。

圓形進(jìn)度條可以通過(guò) style 屬性指定成水平進(jìn)度條


// 每次點(diǎn)擊按鈕,就獲取進(jìn)度條的當(dāng)前進(jìn)度,然后加10作為更新后的的進(jìn)度

6.AlertDialog

彈出一個(gè)對(duì)話框,這個(gè)對(duì)話框是置頂于所有界面元素之上的,能屏蔽掉其他空間的交互能力,因此AlertDialog 一般都是用于提示一些非常重要的內(nèi)容或者警告信息。比如為了防止用戶誤刪。

7.ProgressDialog

四種基本布局

布局與控件的關(guān)系

1.線性布局? LinearLayout

線性方向上依次排列

android:orientation="vertical"??? 垂直方向上線性排列???

android:orientation="horizontal"? ? 水平方向上線性排列

遇到的問(wèn)題:

我的AS只能手動(dòng)去拖動(dòng)位置,它自己會(huì)覆蓋

原因:android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

一直沒(méi)有發(fā)現(xiàn)我的AS默認(rèn)布局是這個(gè),覺(jué)得這個(gè)很厲害的? 可以拖動(dòng)、關(guān)聯(lián)起來(lái)

解決辦法:改成? LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"? 即可


android:layout_weight="1"? ? android:layout_weight 屬性 此時(shí)控件的寬度就不應(yīng)該再由 android:layout_width 決定,指定為 0dp 是一種比較規(guī)范的寫法?

2.相對(duì)布局? RelativeLayout

113

3.幀布局? FrameLayout

4.百分比布局

116?

drawable-xhdpi



創(chuàng)建自定義控件

常用控件和布局的繼承結(jié)構(gòu)

可看出,所有控件都是直接或間接繼承自 View 的,所有的所有布局都是直接或間接繼承自 ViewGroup 的。

View 是Android中最基本的一種 UI 組件,它可以在屏幕上繪制一塊矩形區(qū)域,并能響應(yīng)這塊區(qū)域的各種事件,因此我們使用的各種控件其實(shí)就是在 View 的基礎(chǔ)上又添加了各自特有的功能。而 ViewGroup 則是一種特殊的 View ,它可以包含很多子 View 和 子 ViewGroup,是一個(gè)用于放置控件和布局的容器。

引入布局? 可以解決:一般我們程序可能有很多個(gè)活動(dòng)都需要一樣的標(biāo)題欄,如果在每個(gè)活動(dòng)的布局中都編寫一遍同樣的標(biāo)題欄代碼,明顯會(huì)導(dǎo)致代碼大量重復(fù)。此時(shí)就可以使用引入布局解決。(P120)


最常用和最難用的控件 : ListView

ListView 允許用戶通過(guò)手指上下滑動(dòng)的方式將屏幕外的數(shù)據(jù)滾動(dòng)到屏幕內(nèi),同時(shí)屏幕上原有的數(shù)據(jù)則會(huì)滾動(dòng)出屏幕。

ListView 的簡(jiǎn)單用法

定制ListView界面


P124

ListView 的點(diǎn)擊事件

131(P121)

更強(qiáng)大的滾動(dòng)控件? RecyclerView

由于 ListView? 如果不使用一些技巧來(lái)提升它的運(yùn)行效率,那么其性能就會(huì)很差。它的擴(kuò)展性也不夠好,它只能實(shí)現(xiàn)數(shù)據(jù)縱向滾動(dòng)的效果,橫向做不到。

為此,Android 提供了? 更強(qiáng)大的滾動(dòng)控件? RecyclerView。

132(P122)








以上? 未完


寫在最后:

從上周到這周,感覺(jué)突然有點(diǎn)松懈了,回顧近一個(gè)月的學(xué)習(xí),基礎(chǔ)必定是不踏實(shí)的,時(shí)間確實(shí)緊迫,只能先用啥學(xué)啥吧。又失去了小目標(biāo),錚爺今天給了指了條明路,下周二之前先做個(gè)登錄,我也知道不存在一口吃成大胖子,但是我心里著急??!~!這個(gè)心態(tài)得改一改,踏實(shí)點(diǎn),學(xué)校那邊也不造怎么樣,我也想一直留在這里實(shí)習(xí),只能走一步看一步了~努力先學(xué)習(xí)吧!

每天站會(huì)最好都去聽(tīng)聽(tīng),混個(gè)臉熟哈哈,而且確實(shí)會(huì)有幫助~




風(fēng)中被吹散在眼睛里的潮濕? 是我說(shuō)給你聽(tīng)的? 最后的再見(jiàn)

夜里被吸入在鼻腔里的發(fā)香? 是膩說(shuō)給我聽(tīng)的? 溫暖的晚安

夜里被枕著的臂膀上的溫暖? 是我說(shuō)給你聽(tīng)的? 堅(jiān)實(shí)的晚安

【一首歌】【The Scientist - Coldplay】

MV很好看,時(shí)光回流,你還在

如果一切可以重來(lái)?

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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