All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.android.internal.view.menu.ContextMenuBuilder Maven / Gradle / Ivy

Go to download

A library jar that provides APIs for Applications written for the Google Android Platform.

There is a newer version: 14-robolectric-10818077
Show newest version
/*
 * Copyright (C) 2006 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.internal.view.menu;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.IBinder;
import android.util.EventLog;
import android.view.ContextMenu;
import android.view.View;

/**
 * Implementation of the {@link android.view.ContextMenu} interface.
 * 

* Most clients of the menu framework will never need to touch this * class. However, if the client has a window that * is not a content view of a Dialog or Activity (for example, the * view was added directly to the window manager) and needs to show * context menus, it will use this class. *

* To use this class, instantiate it via {@link #ContextMenuBuilder(Context)}, * and optionally populate it with any of your custom items. Finally, * call {@link #show(View, IBinder)} which will populate the menu * with a view's context menu items and show the context menu. */ public class ContextMenuBuilder extends MenuBuilder implements ContextMenu { public ContextMenuBuilder(Context context) { super(context); } public ContextMenu setHeaderIcon(Drawable icon) { return (ContextMenu) super.setHeaderIconInt(icon); } public ContextMenu setHeaderIcon(int iconRes) { return (ContextMenu) super.setHeaderIconInt(iconRes); } public ContextMenu setHeaderTitle(CharSequence title) { return (ContextMenu) super.setHeaderTitleInt(title); } public ContextMenu setHeaderTitle(int titleRes) { return (ContextMenu) super.setHeaderTitleInt(titleRes); } public ContextMenu setHeaderView(View view) { return (ContextMenu) super.setHeaderViewInt(view); } /** * Shows this context menu, allowing the optional original view (and its * ancestors) to add items. * * @param originalView Optional, the original view that triggered the * context menu. * @param token Optional, the window token that should be set on the context * menu's window. * @return If the context menu was shown, the {@link MenuDialogHelper} for * dismissing it. Otherwise, null. */ public MenuDialogHelper show(View originalView, IBinder token) { if (originalView != null) { // Let relevant views and their populate context listeners populate // the context menu originalView.createContextMenu(this); } if (getVisibleItems().size() > 0) { EventLog.writeEvent(50001, 1); MenuDialogHelper helper = new MenuDialogHelper(this); helper.show(token); return helper; } return null; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy