
第三課:Android的User Interface
Android的user interface(UI)都是View和ViewGroup的object。 ViewGroup中可以加入多個view。Widget就是一般的button,checkbox等等基本UI。所有的widget的superclass都是view。本文會介紹一些常用的widget及layout。
Layout決定你怎麼放置widget在activity中。跟其它的語言相似,android提供多個layout,你可以根據自己的需要,使用一個或多個layout在一個activity中。官網就有一個很好的Hello Views Tutorial,建議參考一下。(其他tutorial對初學者也許有點吃力)
Menu分為option menu和context menu兩種。option menu就是按menu button時在下方顯示的menu。context menu就是當用戶長按view後顯示的menu(跟windows中right click的context menu十分相近)。
在android的世界中,Menu也可以用xml定義。Activity提供幾個有關menu的function給你去override,如onCreateOptionsMenu(),onCreateContextMenu(),onContextMenuSelected(),onOptionsMenuSelected()等。以後會介紹怎麼利用這些functions和xml去建立menu。
把widget/view加入layout中
有了layout和widget後,我們便可以把它們放在一起。常見的情況就是建立一個xml文件(如main.xml),把layout的xml和widget的xml都放進這文件。(事實上main.xml一般都是默認就已建立,你更改就可以了)如下
當你完成了這個xml文件的定義後,eclipse就會自動生成R.layout.main。這個layout將會被一個或多個activity利用。把xml轉成我們可用的view這個過程就是inflate(吹脹),十分貼切。layout xml和menu xml都可以inflate為view(menu)。