您的位置:首页 > 其它

菜单(menu)简介

2015-10-16 10:47 211 查看
菜单,就是在键盘上按menu键,弹出来的一个对话框之类的,类似下图:



菜单的实现步骤:

第一步、

写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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: