第5章Android用户界面分解.ppt
文本预览下载声明
可视化开发工具--ADT 5.3 界面布局 5.3.5网格布局 代码第7行的useDefaultMargins表示网格布局中的所有元素都遵循缺省的边缘规则,就是说所有元素之间都会留有一定的边界空间。代码第8行的columnCount表示纵向分为4列,从第0列到第3列,程序开发人员也可以在这里定义横向的行数,使用rowCount属性。 代码第10行的layout_columnSpan属性表示TeixtView控件所占据的列的数量。代码第12行的layout_gravity = center_horizontal表示文字内容在所占据的块中居中显示 代码第9行到第13行定义了第一个界面控件,虽然定义了纵向所占据的块的数量,但却没有定义元素起始位置所在的块,原因是网格布局中第1个元素默认在第0行第0列 代码第16行到第18行定义了第2个界面控件,仍然没有定义元素起始位置所在的块。根据网格布局界面元素的排布规则,如果没有明确说明元素所在的块,那么当前元素会放置在前一个元素的同一行右侧的块上;如果前一个元素已经是这一行的末尾块,则当前元素放置在下一行的第一个块上;如果当前元素在纵向上占据多个块,而前一个元素右侧没有足够数量的块,则当前元素的起始位置也会放置在下一行的第一个块上 5.4 菜单 菜单 应用程序中非常重要的组成部分 在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面 为程序开发人员提供了易于使用的编程接口 Android系统支持三种菜单 选项菜单(Option Menu) 子菜单(Submenu) 快捷菜单(Context Menu) 5.4 菜单 5.4.1菜单资源 Android程序的菜单 可以在代码中动态生成 使用XML文件制作菜单资源 使用XML描述菜单是较好的选择 可以将菜单的内容与代码分离 有利于分析和调整菜单结构 5.4 菜单 5.4.1菜单资源 代码(Java)生成的菜单 final static int MENU_00 = Menu.FIRST; final static int MENU_01 = Menu.FIRST+1; final static int MENU_02 = Menu.FIRST+2; final static int MENU_03 = Menu.FIRST+3; final static int MENU_04 = Menu.FIRST+4; @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0,MENU_00,0,打印).setIcon(R.drawable.pic0); menu.add(0,MENU_01,1,新建).setIcon(R.drawable.pic1); menu.add(0,MENU_02,2,邮件).setIcon(R.drawable.pic2); menu.add(0,MENU_03,3,设置).setIcon(R.drawable.pic3); menu.add(0,MENU_04,4,订阅).setIcon(R.drawable.pic4); return true;15 } 5.4 菜单 5.4.1菜单资源 XML菜单 ?xml version=1.0 encoding=utf-8? menu xmlns:android=/apk/res/android item android:id=@+id/main_menu_0 android:icon=@drawable/pic0 android:title=打印 / item android:id=@+id/main_menu_1 android:icon=@drawable/pic1 android:title=新建 / item android:id=@+id/main_menu_2 android:icon=@drawable/pic2 android:title=邮件 / item android:id=@+id/main_menu_3 android:icon=@drawable/pic3 android:title=设置 / item android:id=@+id/main_menu_4 android:icon=@drawable/pic4 android:title=订阅 / /menu 5.4 菜单 5.4.1菜单资源 代码生成具有5个子项
显示全部