2

In an android webview is it possible to add an menu item in the webview's default contextual action bar menu.This contextual action bar appears when some webview page contents are selected.The menu item should appear above share in the menu items list.

在此处输入图像描述

4

3 回答 3

2

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

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

于 2012-10-09T10:33:03.343 回答
1

您想了解的有关操作上下文操作栏菜单的所有信息都在这里。您可以简单地为上下文操作模式外观扩展菜单。

@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;
}
于 2012-10-09T05:21:22.443 回答
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);
}
于 2012-10-09T05:39:46.910 回答