带有上下文菜单的Android ListView

时间:2014-05-12 04:01:37

标签: android android-layout listview android-listview

有没有人知道任何图书馆,如何实现这一目标或任何巫术已经为此做了。

带有上下文菜单的列表视图?我不想使用具有长按上下文菜单的那个。

由于

enter image description here enter image description here

3 个答案:

答案 0 :(得分:5)

在res / menu文件夹中创建menu.xml就像下面的例子

一样
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_item1" android:title="@string/menu_item1"/ >
<item android:id="@+id/menu_item2" android:title="@string/menu_item2" >
<!-- "file" submenu -->
<menu>
    <item android:id="@+id/sub_menu_item1"
        android:title="@string/sub_menu_item1" />
    <item android:id="@+id/sub_menu_item2"
        android:title="@string/sub_menu_item2" />
</menu>

在布局

中创建一个图像按钮
<ImageButton
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/ic_overflow_holo_dark"
android:contentDescription="@string/descr_overflow_button"
android:onClick="showPopup" />

创建显示弹出菜单的方法。

public void showPopup(View v) {
  PopupMenu popup = new PopupMenu(this, v);

  // action is your menu.xml file
  // This activity implements OnMenuItemClickListener
  popup.setOnMenuItemClickListener(this);
  popup.inflate(R.menu.actions);
  popup.show();
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
   // your menu id and perform action 
    case R.id.archive:
        archive(item);
        return true;
    case R.id.delete:
        delete(item);
        return true;
    default:
        return false;
}
}

您可以关注This tutorial

答案 1 :(得分:2)

它被称为PopupMenu,可以放在任何地方。文档在这里:http://developer.android.com/reference/android/widget/PopupMenu.html

通常你会有一个带有溢出图像资源的ImageButton,并设置on click侦听器以使用ImageButton作为锚视图显示PopupMenu。

答案 2 :(得分:1)

这里是CARDLIB的样本

enter image description here


enter image description here

请看一下你会找到解决方案

HERE IS CODE