1 樣式和主題
樣式是指爲 View 或窗口指定外觀和格式的屬性集合。
樣式的XML文件必須保存在res/values/文件夾內,該XML文件的根節點必須是<resources>,對於您想創建的每個樣式,向該文件添加一個<style>元素,該元素帶有對樣式進行唯一標識的name屬性(該屬性爲必需屬性),樣式的每個屬性用<item>。
主題是指對整個 Activity 或應用而不是對單個 View(如上例所示)應用的樣式。
主題的XML文件與樣式一樣,放在/res/values/文件夾下,根節點是<resources>,主題節點是<style>,屬性用<item>。
區別:子View元素不會繼承樣式屬性,子View元素會繼承主題屬性。
使用樣式的方法:在單個<view>上添加style="@style/ CustomStyle";
使用主題的方法:在<application>或<Activity>上添加android:theme="@style/CustomTheme";
2 菜單
自定義菜單可通過實現Menu類或新建菜單資源的xml文件,推薦使用第二種。
菜單資源放在res/menu/文件夾下,文件根節點是<menu>,它可以包含多個<item>;可以在<item>下添加<menu>實現多層菜單。
選項菜單和應用欄
選項菜單是某個Activity的主菜單項,一般放置對應用產生全局影響的操作;
要創建選項菜單,請重寫onCreateOptionsMenu(Menu menu),在方法內加載菜單的xml資源MenuInflater.(R.menu.mymenu,menu),並重寫Activity的onOptionsItemSelected()方法來處理點擊事件。
上下文菜單和上下文操作模式
上下文菜單是用戶長按某一元素時出現的浮動菜單。一般提供的操作將影響所選內容或上下文框架。
(1)爲某個view註冊上下文菜單:registerForContextMenu(View view);
(2)實現onCreateContextMenu()方法;
(3)實現onContextItemSelected()方法來處理點擊事件。
上下文操作模式在屏幕頂部欄顯示影響所選內容的操作項目,並允許用戶選擇多項。
彈出菜單
彈出菜單將以垂直列表形式顯示一系列項目,如果空間足夠,將顯示在定位視圖下方,否則顯示在其上方。
創建彈出菜單:
(1)實例化 PopupMenu 及其構造函數,該函數將提取當前應用的 Context 以及菜單應錨定到的 View。
(2)使用MenuInflater將菜單資源擴充到PopupMenu.getMenu()返回的Menu對象中。
(3)調用PopupMenu.show()。