如何将菜单项添加到webview的上下文操作栏菜单中

时间:2012-10-09 04:16:37

标签: android android-layout

在Android webview中可以在webview的默认上下文操作栏菜单中添加菜单项。当选择某些webview页面内容时,会出现此上下文操作栏。菜单项应显示在菜单中的共享上方物品清单。

enter image description here

3 个答案:

答案 0 :(得分:2)

  

在Android webview中,可以在webview的默认上下文操作栏菜单中添加菜单项。

不,抱歉。很少有Android小部件允许您为他们的操作模式做出贡献 - EditText确实如此,这是我能想到的唯一一个。

答案 1 :(得分:1)

您想要了解的有关操纵上下文操作栏菜单的所有内容都是here。您可以简单地为上下文操作模式外观夸大菜单。

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    // Inflate a menu resource providing context menu items
    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.context_menu, menu);
    return true;
}

答案 2 :(得分:0)

如果您正在寻找教程,可以使用以下资源:

https://developer.android.com/guide/topics/ui/menus.html#context-menu

http://wptrafficanalyzer.in/blog/creating-a-contextual-menu-bar-contextual-action-mode-for-a-single-view-in-android/

http://mobile.tutsplus.com/tutorials/android/android-sdk-context-menus/

基本上,您可以创建布局并在单击按钮时对其进行充气:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dip" >

<TextView
    android:id="@+id/menuItem1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:text="@string/menu1" />

<TextView
    android:id="@+id/menuItem2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:text="@string/menu2" />
<TextView
    android:id="@+id/menuItem3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:text="@string/menu3" />
</LinearLayout> 

并且在showPopup()方法中,您可以执行以下操作:

public void showPopup(View v) {
    LayoutInflater inflater = (LayoutInflater) MainActivity.this
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        PopupWindow pw = new PopupWindow(inflater.inflate(
                R.layout.container, null, false), 400, 500, true);
        pw.showAtLocation(findViewById(R.id.menu_layout), Gravity.CENTER, 0,
                0);
}