Android手机的菜单很美观大方,其编程实现起来也简洁明快,如果谁用过QT的界面编程,那么看一眼Android的Menu编程会马上会心微笑,
Option Menu:
看看下一段代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class HelloActivity extends Activity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
menu.add(0, Menu.FIRST+1, 1, R.string.menu_open);
menu.add(0, Menu.FIRST+2, 2, R.string.menu_edit);
menu.add(0, Menu.FIRST+3, 3, R.string.menu_update);
menu.add(0, Menu.FIRST+4, 4, R.string.menu_close);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
super.onOptionsItemSelected(item);
switch(item.getItemId())
{
case Menu.FIRST + 1:
{
this.setTitle("Open Text!");
break;
}
case Menu.FIRST + 2:
{
this.setTitle("Edit Text!");
break;
}
case Menu.FIRST + 3:
{
this.setTitle("Update Text!");
break;
}
case Menu.FIRST + 4:
{
this.setTitle("Close Text!");
break;
}
}
return true;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
}
}

只需要改写父类Activity的两个函数即可,方便之极。也就是说Android早就为你写好了相关的代码,你只要填一些菜单项,再对每一个菜单项的ItemId编写具体的
操作代码就行了。
Android资源
上述代码中有几行可能对于入门者不好理解
1.添加菜单menu.add(0, Menu.FIRST+1, 1, R.string.menu_open);
menu.add(0, Menu.FIRST+2, 2, R.string.menu_edit);代码中的 R.string.menu_open/menu_edit
这些其实是指资源文件中的ID,映射到具体的资源,这里是映射到字符串资源menu_open, menu_edit,其具体的值可以看res/values/string.xml在这里定义了字符串的值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloActivity!</string>
<string name="app_name">HelloWorld</string>
<string name="menu_open">Open</string>
<string name="menu_edit">Edit</string>
<string name="menu_update">Update</string>
<string name="menu_close">Close</string>
</resources>
在 Android中,Activity显示的布局也可在资源中定义,并且以可视化的方式来操作布局对应的XML文件。可以看res/layout /main.xml这就是一个布局文件,这里指定了这个布局里有哪些界面元素以及如何组织,相对位置,绝对位置等信息。来看看其中内容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android "
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MyTest OK yest!"></TextView>

</LinearLayout>

这里就描述了布局为LinearLayout,包含了一个TextView,TextView的值为 MyTest.这个XML文件被编译后,可以使用R.layout.main的ID来从资源中取得。
于是Activity可以用setContentView(R.layout.main)来直接从资源取得布局,来绘制界面元素。
另一类常用资源就是图片
在res/drawable/下面有一些图片,你也可以新加一些图片到这里。然后就可以通过.R.drawable.xxx 的ID来从资源中取得对应的图片。

Context Menu:
上面是手机底部菜单,Android还提供了Context上下文菜单的操作,也相当简单,看如下代码:

更多相关文章

  1. Android的System Server
  2. android编写访问http的代码
  3. Android清除本地数据缓存代码案例
  4. android 自定义水平和圆形progressbar 只定义一些style就可以
  5. 一个不错的启动菜单显示屏动画效果
  6. Android开发便签9:在android资源文件中定义字符串数组
  7. android闹钟――原代码
  8. 搭建Android(安卓)NDK开发环境
  9. 【Android】ToolBar设置NavigationIcon不显示异常或自定义失败异

随机推荐

  1. Android(安卓)studio怎么删除依赖包? And
  2. 腾讯微博获得oauth_verifier后跳转失败
  3. Android中添加商品的购物车
  4. Android如何实现毛玻璃效果之Android高级
  5. Android自动识别标签的自定义TextView(可
  6. Android(安卓)Context完全解析,你所不知道
  7. Android(安卓)阅读软件集锦 | 小众软件 >
  8. Android(安卓)刘海屏幕适配方案简析
  9. 第二行代码学习笔记——第二章(2)
  10. 友盟2013年上半年数据报告:与开发者相关的