Add demo for ShareActionProvider

Change-Id: I083354ef09738da812ea508f3091496f08f10123
This commit is contained in:
Chris Banes
2016-01-04 12:07:31 +00:00
parent 7eb7c4f7df
commit f5b1907589
4 changed files with 86 additions and 0 deletions

View File

@@ -191,6 +191,15 @@
</intent-filter>
</activity>
<activity android:name=".app.ActionBarShareActionProvider"
android:label="@string/action_bar_share_action_provider"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
</intent-filter>
</activity>
<activity android:name=".app.ActionBarFragmentMenu"
android:label="@string/action_bar_fragment_menu"
android:theme="@style/Theme.AppCompat">

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 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"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_item_share_provider_action_bar"
android:title="@string/action_bar_share"
app:showAsAction="ifRoom"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
</menu>

View File

@@ -59,6 +59,7 @@
<string name="action_bar_usage">AppCompat/Action Bar/Action Bar Usage</string>
<string name="action_bar_tabs">AppCompat/Action Bar/Action Bar Tabs</string>
<string name="action_bar_settings_action_provider">AppCompat/Action Bar/Settings Action Provider</string>
<string name="action_bar_share_action_provider">AppCompat/Action Bar/ShareActionProvider</string>
<string name="action_bar_settings_action_provider_no_handling">Handling in onOptionsItemSelected avoided</string>
<string name="action_bar_with_navigation_drawer">AppCompat/Action Bar/Navigation Drawer Toggle</string>
<string name="action_bar_preferences">AppCompat/Action Bar/Preferences</string>

View File

@@ -0,0 +1,52 @@
/*
* Copyright (C) 2011 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.supportv7.app;
import com.example.android.supportv7.R;
import android.content.Intent;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.ShareActionProvider;
import android.view.Menu;
import android.view.View;
/**
* This activity demonstrates how to use {@link ShareActionProvider} with the Action Bar.
*/
public class ActionBarShareActionProvider extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_bar_share_action_provider, menu);
return true;
}
@Override
protected boolean onPrepareOptionsPanel(View view, Menu menu) {
final ShareActionProvider sap = (ShareActionProvider) MenuItemCompat.getActionProvider(
menu.findItem(R.id.menu_item_share_provider_action_bar));
final Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello!");
sap.setShareIntent(shareIntent);
return true;
}
}