Android 樣式 菜單筆記

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()。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章