Added PopupMenu demo
Change-Id: Ib4ed4203dc78a4706963cb36e7bac7ec58a5747a
diff --git a/samples/ApiDemos/AndroidManifest.xml b/samples/ApiDemos/AndroidManifest.xml
index cd0ec0e..f502da0 100644
--- a/samples/ApiDemos/AndroidManifest.xml
+++ b/samples/ApiDemos/AndroidManifest.xml
@@ -1568,6 +1568,13 @@
</intent-filter>
</activity>
+ <activity android:name=".view.PopupMenu1" android:label="Views/Popup Menu">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.SAMPLE_CODE" />
+ </intent-filter>
+ </activity>
+
<!-- ************************************* -->
<!-- GRAPHICS SAMPLES -->
<!-- ************************************* -->
diff --git a/samples/ApiDemos/res/layout/popup_menu_1.xml b/samples/ApiDemos/res/layout/popup_menu_1.xml
new file mode 100644
index 0000000..6ddc76e
--- /dev/null
+++ b/samples/ApiDemos/res/layout/popup_menu_1.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 Google Inc.
+
+ 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.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ <Button android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:onClick="onPopupButtonClick"
+ android:text="@string/popup_menu_button" />
+</LinearLayout>
diff --git a/samples/ApiDemos/res/menu/popup.xml b/samples/ApiDemos/res/menu/popup.xml
new file mode 100644
index 0000000..fc0e3b4
--- /dev/null
+++ b/samples/ApiDemos/res/menu/popup.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 Google Inc.
+
+ 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.
+-->
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@+id/search"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/popup_menu_search" />
+ <item android:id="@+id/add"
+ android:icon="@android:drawable/ic_menu_add"
+ android:title="@string/popup_menu_add" />
+ <item android:id="@+id/edit"
+ android:icon="@android:drawable/ic_menu_edit"
+ android:title="@string/popup_menu_edit">
+ <menu>
+ <item android:id="@+id/share"
+ android:icon="@android:drawable/ic_menu_share"
+ android:title="@string/popup_menu_share" />
+ </menu>
+ </item>
+</menu>
diff --git a/samples/ApiDemos/res/values/strings.xml b/samples/ApiDemos/res/values/strings.xml
index 94c931d..2dcdd49 100644
--- a/samples/ApiDemos/res/values/strings.xml
+++ b/samples/ApiDemos/res/values/strings.xml
@@ -567,6 +567,12 @@
<string name="ratingbar_rating">Rating:</string>
+ <string name="popup_menu_search">Search</string>
+ <string name="popup_menu_add">Add</string>
+ <string name="popup_menu_edit">Edit</string>
+ <string name="popup_menu_share">Share</string>
+ <string name="popup_menu_button">Make a Popup!</string>
+
<!-- ============================== -->
<!-- GoogleLogin examples strings -->
<!-- ============================== -->
diff --git a/samples/ApiDemos/src/com/example/android/apis/view/PopupMenu1.java b/samples/ApiDemos/src/com/example/android/apis/view/PopupMenu1.java
new file mode 100644
index 0000000..161e8e6
--- /dev/null
+++ b/samples/ApiDemos/src/com/example/android/apis/view/PopupMenu1.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2010 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.example.android.apis.view;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.PopupMenu;
+import android.widget.Toast;
+
+import com.example.android.apis.R;
+
+/**
+ * This demonstrates the use of the PopupMenu class. Clicking the button will inflate and
+ * show a popup menu from an XML resource.
+ */
+public class PopupMenu1 extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.popup_menu_1);
+ }
+
+ public void onPopupButtonClick(View button) {
+ PopupMenu popup = new PopupMenu(this, button);
+ popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu());
+
+ popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
+ public boolean onMenuItemClick(MenuItem item) {
+ Toast.makeText(PopupMenu1.this, "Clicked popup menu item " + item.getTitle(),
+ Toast.LENGTH_SHORT).show();
+ return true;
+ }
+ });
+
+ popup.show();
+ }
+}