Android ui 構建技術分析

2021-06-28 11:26:48 字數 2919 閱讀 1699

1.android ui 基本技術方式

a. layout  定義ui  組成

a1,  linearlayout

a2,  framelayout

a3,  tablelayout

a4,  gridelayout

a5,  relativelayout

a6,  include 

a7,  fragment

b.shape

<?

xmlversion

= "1.0"

encoding

="utf-8"

?>

<

shape

xmlns:android

= ""

>

<

solid

android:color

= "#ffffffff"

/>

<

stroke

android:width =

"8dp"

/>

<

corners

android:radius =

"8dp"

/>

shape

>

c. animation

alpha animation

<?

xmlversion

= "1.0"

encoding

="utf-8"

?>

<

alpha

xmlns:android

= ""

android:interpolator

= "@android:anim/accelerate_interpolator"

android:fromalpha

= "0.0"

android:toalpha

= "1.0"

android:duration

="2000"

/>

d.style

<

resources

>

<

style

name

=parent

="android:theme.light"

>  

style

>

<

style

name

=parent

=>  

style

>

resources

>

e. menu

<

menu

xmlns:android=""

>

<

item

android:id

="@+id/action_settings"

android:orderincategory

="100"

android:showasaction

="never"

android:title

="@string/action_settings"

/>

menu

>

activity **中 使用layout 產生介面可控制項布局, 在androidmanifest.xml中指定 activity 的theme 屬性使用

style 檔案定義來產生樣式,風格。具體的控制項可以在布局中指明 shape 構成背景屬性。

animation 在**中指定定義(animationutils)建立出物件,然後由控制項直接(startanimation)使用

eg:animation fade = animationutils.

loadanimation

(this

, r.anim.

fade);

findviewbyid(r.id.

imageview1

).startanimation(fade);

2. 自定義控制項技術

事件介面:base view

public boolean dispatchtouchevent(motionevent ev):傳遞touch事件至target view(可以是自己)。

public boolean onintercepttouchevent(motionevent ev):在viewgroup中定義,用於攔截touch事件的傳遞。

public boolean ontouchevent(motionevent event): touch事件處理函式。

onintercepttouchevent()

的機制比較複雜,基本的規則是:

1.事件先路由到頂級的viewgroup ::

onintercepttouchevent ,

若該函式返回true,將不再向下傳遞。

2.事件傳遞到一下一級 viewgroup 或view,若函式

onintercepttouchevent  ,

或者ontouchevent 

返回true,則傳遞終結,若false,則繼續按照深度遍歷方式

傳遞該訊息。

3.若乙個view接受該事件,並且有能力獲取焦點,則後續訊息將直接發給該view,忽略掉其它路由過程。

操縱介面: view:

public void 

scrollto

(int x, int y),

view:public void scrollby();

view:

invalidate() 重繪介面

繪畫介面 

private

void

draw(canvas canvas);

OFDM技術分析

通常的數字調製都是在 單個載波 上進行,如psk qam等。這種單載波的調製方法易發生碼間干擾而增加誤位元速率,而且在多徑傳播的環境中因受瑞利衰落的影響而會造成突發誤碼。若將高速率的序列資料轉換為若干低速率資料流,每個低速資料流對應乙個載波進行調製,組成乙個多載波的同時調製的並行傳輸系統。這樣將總的...

Piccolo技術分析

piccolo 是new york 大學在osdi 2000 上發表的 piccolo 允許計算單元跑在不同的機器上,更重要的是它對計算過程中的共享狀態資料的訪問有很好的本地性,同時解決了在執行時寫資料的衝突等問題。它和mapreduce 的區別在於能夠輕鬆訪問中間狀態 其實就是中間結果 之後都採用...

DSL技術分析

dsl技術 一 定義 數字使用者線路 digital subscriber line 二 作用 以銅製 雙絞線 為傳輸介質的傳輸技術 三 分類 對稱 hdsl,上下行速率一致 企業使用者使用,不支援語音和資料同時傳送 sdsl shdsl 非對稱 adsl,下行速率大於上行速率 家庭使用者使用,支援...