Android 样式 菜单笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wow_bc/article/details/77195761

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

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页