菜单(menu)简介

菜单,就是在键盘上按menu键,弹出来的一个对话框之类的,类似下图:

菜单(menu)简介_第1张图片

菜单的实现步骤:

第一步、

写xml文件:

1、在res目录下有一个menu文件夹(若没有则在res目录下新建一个menu文件夹),在里面新建一个android xml文件,资源类型为menu。

2、在里面添加item标签,里面需要写id和title。

代码如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <item
        android:id="@+id/action_settings"
        android:title="设置"/>
    <item
        android:id="@+id/action_delete"
        android:title="删除"/>
    
    <item android:id="@+id/action_statrt_login"
        android:title="登录"/>
    <item android:id="@+id/action_call_phone"
        android:title="打电话"/>
</menu>


第二步、

写java代码:

1、首先需要一个类,extends自activitylei。

2、在里面重写onCreate()、onCreateOptionsMenu()、onOptionsItemSelected()方法。

3、在oncreate()里面setContentView一个布局(也可以什么布局都不加,就是一个白版,比较丑。)

4、onCreateOptionsMenu()里面调用getMenuInflater()方法得到一个MenuInflater类型的对象,暂且命名为menuInflater,

然后在menuInflater上调用方法inflate();在里面引入menu资源。

5、onOptionsItemSelected()方法就是点击menu的监听,里面推荐用switch语句来执行点击不同menu按钮的事件响应。

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.scxh.android1503.R;
public class MenuOptionActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_option_layout);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.option_menu, menu);
// 
// menu.add(1, 11, 1, "添加");
// menu.add(1, 12, 2, "删除");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.action_settings:
break;
case R.id.action_delete:
break;
case R.id.action_statrt_login:
Intent intent = new Intent();
// intent.setComponent(new ComponentName(this, EditTextActivity.class));
intent.setAction("com.scxh.android1503.ACTION_EDIT_TEXT");
startActivity(intent);
// Intent intent = new Intent(this,EditTextActivity.class);
// startActivity(intent);
break;
case R.id.action_call_phone:
intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:110"));
startActivity(intent);
break;
}
return super.onOptionsItemSelected(item);
}
}
                  }
                          publiclong getItemId(int position) {
                                 // TODO Auto-generated method stub
                                return position;
                                 }
                           //主要工作是做在这里,可以自定义布局,在这里我就不多说了
                         publicView getView(int position, View convertView, ViewGroup parent) {
                            // TODO Auto-generated method stub
                                     ImageView imageview = newImageView(mcontext);
                                     imageview.setImageResource(imageIds[position]);
                                      imageview.setLayoutParams(newGallery.LayoutParams(120,120));
                                      imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
                                      return imageview;
                                   }
                 }











你可能感兴趣的:(菜单(menu)简介)