您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Android中怎么設(shè)計用戶界面,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
Activity是Android應(yīng)用用戶界面的基本組成部件。但Activity本身并不提供用戶界面(User Interface)。從程序結(jié)構(gòu)層次上來說,一個Android應(yīng)用是類android.app.Application的一個實例, Application中可以包含多個android.app.Activity實例。每個Activity 帶一個Window類,這個類在Android平臺上沒有提供太多功能,主要可以用來控制標(biāo)題欄(屏幕頂端)。比如設(shè)置UI全屏顯示可以使用如下代碼:
requestWindowFeature(Window.FEATURE_NO_TITLE); indow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
Activty缺省是不含用戶界面,如需顯示用戶界面,則可以調(diào)用setContentView()來設(shè)置Activity的ContentView。 ConentView描述了具體的UI組件,如文本框,標(biāo)簽,列表框,圖片框的。
Android的用戶界面其實就是指ContentView的設(shè)計?!癡iew”開始會使人產(chǎn)生誤解,在其它平臺“View”一般指類似Form的 概念。而在Android平臺上View是UI組件,相當(dāng)于其他平臺的Component,ViewGroup相當(dāng)于其它平臺的Container,如下 圖所示:
有了這個對應(yīng)關(guān)系就很容易將你已有的用戶界面設(shè)計知識用在Android的用戶界面設(shè)計上來。
此外Android用戶界面設(shè)計一個推薦的方法是使用XML來描述UI,這也不是Android平臺的首創(chuàng),Java ME Polish,WPF,Silverlight等都采用XML來描述UI,使用XML來描述的好處是將用戶界面和程序邏輯分開,可以做到用戶界面的改變不 影響程序邏輯,程序邏輯的變動也可以不影響用戶界面,實際上是采用了MVC模式的設(shè)計。Activity 是MVC中的Controller,Activity的ContentView則是MVC中的View。如果你不想使用XML來描述UI,也可以使用代碼 來創(chuàng)建UI,不過這種方法既麻煩,也增加了模塊之間的耦合度。
理解了Android的View和ViewGroup之后,具體設(shè)計用戶界面并不復(fù)雜,一般來說ViewGroup定義它的子View的布局 Layout,也就是其它View (文本框,標(biāo)簽等控件或是其它ViewGroup)在用戶界面的位置安排。如上圖所示,這個層次關(guān)系可以嵌套。通過嵌套,你可以定義出任意用戶界面。
Android中的基本布局如下:
FrameLayout
最簡單的布局對象
在屏幕上故意保留的空白空間,你可以之后填充一個單獨的對象
例如:一個你要更換的圖片
所有子元素都釘?shù)狡聊坏淖笊辖?/p>
不能為子元素指定位置
LinearLayout
在一個方向上(垂直或水平)對齊所有子元素
所有子元素一個跟一個地堆放
一個垂直列表每行將只有一個子元素(無論它們有多寬)
一個水平列表只是一列的高度(***子元素的高度來填充)
TableLayout
把子元素放入到行與列中
不顯示行、列或是單元格邊界線
單元格不能橫跨行,如HTML 中一樣
AbsoluteLayout
使子元素能夠指明確切的X / Y 坐標(biāo)顯示在屏幕上
(0,0)是左上角
當(dāng)你下移或右移時,坐標(biāo)值增加
允許元素重疊(但是不推薦)
注意:
一般建議不使用AbsoluteLayout 除非你有很好的理由來使用它
因為它相當(dāng)嚴(yán)格并且在不同的設(shè)備顯示中不能很好地工作
RelativeLayout
讓子元素指定它們相對于其他元素的位置(通過ID 來指定)或相對于父布局對象
看完上述內(nèi)容,你們對Android中怎么設(shè)計用戶界面有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。