Android之弹出多级菜单

使用布局文件创建菜单:(多级菜单)

在res下创建文件夹menu(如果已经有啦就不用再创建了)

在该menu文件夹下创建XML文件这里我把文件名命名为menu

在创建的menu.XML文件中

写入:

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item

android:id="@+id/file"

android:title="file"/>

<item

android:id="@+id/edit"

android:title="edit"/>

<item

android:id="@+id/help"

android:title="help">

<menu>

<item

android:id="@+id/window"

android:title="window"/>

<item

android:id="@+id/run"

android:title="run"/>

</menu>

</item>

</menu>

在Activity中创建菜单的地方把下面的代码换成this.getMenuInflater().inflate(R.menu.menu,menu);

R.menu.menu代表你创建的菜单XML文件

menu.add("file");

menu.add("edit");

menu.add("source");

即:

public class MainActivity extends Activity {

private TextView username,password;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

username = (TextView) findViewById(R.id.username);

password = (TextView) findViewById(R.id.password);

this.registerForContextMenu(username);//注册菜单

}

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

// TODO Auto-generated method stub

this.getMenuInflater().inflate(R.menu.menu,menu);

super.onCreateContextMenu(menu, v, menuInfo);

}

@Override

public boolean onContextItemSelected(MenuItem item) {

// TODO Auto-generated method stub

//当菜单上下文元素被选中时执行

Toast.makeText(this, item.getTitle()+"onContextItemSelected",
1).show();

return super.onContextItemSelected(item);

}

@Override

public boolean onMenuItemSelected(int featureId, MenuItem item)
{

// TODO Auto-generated method stub

//菜单元素被选中时执行

Toast.makeText(this, item.getTitle()+"onMenuItemSelected",
1).show();

return super.onMenuItemSelected(featureId, item);

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 02:02:18

Android之弹出多级菜单的相关文章

android一个弹出菜单的动画(一)

先上效果图: 先写Layout文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent&quo

Android之弹出菜单框【注冊上下文菜单】

注冊上下文菜单:(长按弹出一个菜单) 第一种创建方法(与长按事件结合): public class MainActivity extends Activity { private TextView username,password; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState)

Android之弹出菜单框【注册上下文菜单】

注册上下文菜单:(长按弹出一个菜单) 第一种创建方法(与长按事件结合): public class MainActivity extends Activity { private TextView username,password; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState)

用PopupWindow实现弹出菜单(弹出的菜单采用自定义布局)

     用PopupWindow实现弹出菜单是一个比较好的方式.当然我们还有一个类PopupMenu也能实现弹出菜单,但那个太过于局限了,所以不是很推荐. 这个实例的效果是这样的:点击按钮后,一个菜单从屏幕的右边滑入到屏幕中,点击按钮/空白处后菜单消失. 布局文件时一个按钮,我就不贴出代码了.下面是菜单的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&

在弹出的菜单中模仿微信的右上角

采用PopupWindow在弹出的菜单右上角实现仿微信. 效果如下面的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb3lpX3RkY3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > popupWindow代码例如以下: import java.util.ArrayList; import java.util.HashMap;

ListView的使用(二)长按弹出上下文菜单

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list); mDbHelper = new DiaryDbAdapter(this); mDbHelper.open(); renderListView(); ListView mylistView = getListView(); mylistView.setOnCreate

windows10系统开机后直接弹出开始菜单的解决方案

win10正式版是新版的操作系统,所以用户在使用过程中可能也会碰到一些新的问题.比如,最近有用户反馈,Win10系统开机之后无法显示桌面内容,直接弹出开始菜单,占满了屏幕,而且点击Win键也无法关闭,这是怎么回事呢?其实,该问题是用户不小心进入了Win10系统平板模式导致的.下面,小编就给大家分享下解决方案. 步骤如下: 点击右下角的"通知中心"图标,然后点击"平板模式"即可关闭"平板模式",再次点击的话即可从新进入! 以上就是皇冠新2网址小编给

Android的弹出登陆框的实现

最近在做一个项目,要用到登陆框,几经波折,最后用的是直接将Activity的Theme属性设置成Dialog,然后达到了我想要的效果. 下面是我的实现经历: 1.首先,我是直接使用AlertDialog来实现,确定是,形状有点难看,而且获得Dialog里面的控件略显麻烦(因为我要做的登陆框有一定的布局),然后就给我就放弃了,可能因为我太水了,不能很好的使用它 2.然后我就使用PopupWindow来实现,界面是达到了我的要求,控件的获得通过Inflater就可以获得了相对较简单,但是有一个缺点就

Android强制弹出,隐藏输入法.

当我们弹出一个Dialog时候,假设这个Dialog须要输入数据,然后确定后又须要关闭输入法,一般系统的hide,跟show方法总会有各种问题,最霸道的解决方法就是写一个定时器,定时弹出或者关闭输入法. import java.util.Timer; import java.util.TimerTask; import android.content.Context; import android.view.View; import android.view.inputmethod.InputM