From 54b6cfa9a9e5b861a9930af873580d6dc20f773c Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 21 Oct 2008 07:00:00 -0700 Subject: Initial Contribution --- core/java/android/view/ContextMenu.java | 91 +++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 core/java/android/view/ContextMenu.java (limited to 'core/java/android/view/ContextMenu.java') diff --git a/core/java/android/view/ContextMenu.java b/core/java/android/view/ContextMenu.java new file mode 100644 index 0000000..9bfda40 --- /dev/null +++ b/core/java/android/view/ContextMenu.java @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2007 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 android.view; + +import android.app.Activity; +import android.graphics.drawable.Drawable; +import android.widget.AdapterView; + +/** + * Extension of {@link Menu} for context menus providing functionality to modify + * the header of the context menu. + *

+ * Context menus do not support item shortcuts, item icons, and sub menus. + *

+ * To show a context menu on long click, most clients will want to call + * {@link Activity#registerForContextMenu} and override + * {@link Activity#onCreateContextMenu}. + */ +public interface ContextMenu extends Menu { + /** + * Sets the context menu header's title to the title given in titleRes + * resource identifier. + * + * @param titleRes The string resource identifier used for the title. + * @return This ContextMenu so additional setters can be called. + */ + public ContextMenu setHeaderTitle(int titleRes); + + /** + * Sets the context menu header's title to the title given in title. + * + * @param title The character sequence used for the title. + * @return This ContextMenu so additional setters can be called. + */ + public ContextMenu setHeaderTitle(CharSequence title); + + /** + * Sets the context menu header's icon to the icon given in iconRes + * resource id. + * + * @param iconRes The resource identifier used for the icon. + * @return This ContextMenu so additional setters can be called. + */ + public ContextMenu setHeaderIcon(int iconRes); + + /** + * Sets the context menu header's icon to the icon given in icon + * {@link Drawable}. + * + * @param icon The {@link Drawable} used for the icon. + * @return This ContextMenu so additional setters can be called. + */ + public ContextMenu setHeaderIcon(Drawable icon); + + /** + * Sets the header of the context menu to the {@link View} given in + * view. This replaces the header title and icon (and those + * replace this). + * + * @param view The {@link View} used for the header. + * @return This ContextMenu so additional setters can be called. + */ + public ContextMenu setHeaderView(View view); + + /** + * Clears the header of the context menu. + */ + public void clearHeader(); + + /** + * Additional information regarding the creation of the context menu. For example, + * {@link AdapterView}s use this to pass the exact item position within the adapter + * that initiated the context menu. + */ + public interface ContextMenuInfo { + } +} -- cgit v1.1