Update Support7Demos for L appcompat
New Toolbar samples along with some improvements for the other Action Bar activities. Change-Id: I28dca1bd86ea4c269b711f4d10283e71384a33ac
This commit is contained in:
@@ -31,7 +31,7 @@
|
|||||||
reading images from the media store from API v19+. -->
|
reading images from the media store from API v19+. -->
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="17" />
|
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="21" />
|
||||||
|
|
||||||
<!-- The smallest screen this app works on is a phone. The app will
|
<!-- The smallest screen this app works on is a phone. The app will
|
||||||
scale its UI to larger screens but doesn't make good use of them
|
scale its UI to larger screens but doesn't make good use of them
|
||||||
@@ -130,6 +130,16 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name=".app.SearchActivity">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.SEARCH" />
|
||||||
|
</intent-filter>
|
||||||
|
|
||||||
|
<meta-data android:name="android.app.searchable"
|
||||||
|
android:resource="@xml/searchable" />
|
||||||
|
|
||||||
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".app.ActionBarUsage"
|
<activity android:name=".app.ActionBarUsage"
|
||||||
android:label="@string/action_bar_usage"
|
android:label="@string/action_bar_usage"
|
||||||
android:theme="@style/Theme.AppCompat">
|
android:theme="@style/Theme.AppCompat">
|
||||||
@@ -151,7 +161,7 @@
|
|||||||
|
|
||||||
<activity android:name=".app.ActionBarTabs"
|
<activity android:name=".app.ActionBarTabs"
|
||||||
android:label="@string/action_bar_tabs"
|
android:label="@string/action_bar_tabs"
|
||||||
android:theme="@style/Theme.AppCompat">
|
android:theme="@style/Theme.Custom">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
||||||
@@ -160,7 +170,7 @@
|
|||||||
|
|
||||||
<activity android:name=".app.ActionBarSettingsActionProviderActivity"
|
<activity android:name=".app.ActionBarSettingsActionProviderActivity"
|
||||||
android:label="@string/action_bar_settings_action_provider"
|
android:label="@string/action_bar_settings_action_provider"
|
||||||
android:theme="@style/Theme.AppCompat">
|
android:theme="@style/Theme.AppCompat.Light.DarkActionBar">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
||||||
@@ -177,15 +187,49 @@
|
|||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name=".app.ActionBarWithDrawerLayout"
|
<activity android:name=".app.ActionBarWithDrawerLayout"
|
||||||
android:label="@string/action_bar_with_navigation_drawer"
|
android:label="@string/action_bar_with_navigation_drawer"
|
||||||
android:theme="@style/Theme.AppCompat"
|
android:theme="@style/Theme.AppCompat"
|
||||||
>
|
>
|
||||||
|
<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.ToolbarUsage"
|
||||||
|
android:label="@string/toolbar_usage"
|
||||||
|
android:theme="@style/Theme.Custom.NoActionBar">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
||||||
|
</intent-filter>
|
||||||
|
|
||||||
|
<meta-data
|
||||||
|
android:name="android.app.default_searchable"
|
||||||
|
android:value=".app.SearchActivity" />
|
||||||
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name=".app.ToolbarDisplayOptions"
|
||||||
|
android:label="@string/toolbar_display_options"
|
||||||
|
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name=".app.ToolbarFragmentPagerMenu"
|
||||||
|
android:label="@string/toolbar_fragment_pager"
|
||||||
|
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="com.example.android.supportv7.SAMPLE_CODE" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
|
||||||
|
<provider android:name=".app.RecentSuggestionsProvider"
|
||||||
|
android:authorities="com.example.android.supportv7.RecentSuggestionsProvider" />
|
||||||
|
|
||||||
<!-- RecyclerView samples -->
|
<!-- RecyclerView samples -->
|
||||||
<activity android:name=".widget.RecyclerViewActivity"
|
<activity android:name=".widget.RecyclerViewActivity"
|
||||||
android:label="@string/recycler_view"
|
android:label="@string/recycler_view"
|
||||||
|
|||||||
85
samples/Support7Demos/res/layout/toolbar_display_options.xml
Normal file
85
samples/Support7Demos/res/layout/toolbar_display_options.xml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2014 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:minHeight="?attr/actionBarSize"
|
||||||
|
android:background="?attr/colorPrimary" />
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/toggle_home_as_up"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/toggle_home_as_up"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/toggle_show_home"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/toggle_show_home"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/toggle_use_logo"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/toggle_use_logo"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/toggle_show_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/toggle_show_title"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/toggle_show_custom"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/toggle_show_custom"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/cycle_custom_gravity"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/cycle_custom_gravity"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/toggle_visibility"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/toggle_visibility"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
34
samples/Support7Demos/res/layout/toolbar_fragment_pager.xml
Normal file
34
samples/Support7Demos/res/layout/toolbar_fragment_pager.xml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2014 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:minHeight="?actionBarSize"
|
||||||
|
android:background="?attr/colorPrimaryDark" />
|
||||||
|
|
||||||
|
<android.support.v4.view.ViewPager
|
||||||
|
android:id="@+id/viewpager"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
40
samples/Support7Demos/res/layout/toolbar_usage.xml
Normal file
40
samples/Support7Demos/res/layout/toolbar_usage.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2014 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:minHeight="?attr/actionBarSize"
|
||||||
|
android:background="?attr/colorPrimaryDark"
|
||||||
|
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
|
||||||
|
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:text="Your content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceLarge"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -16,9 +16,9 @@
|
|||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item android:id="@+id/action_search"
|
<item android:id="@+id/action_search"
|
||||||
android:icon="@android:drawable/ic_menu_search"
|
|
||||||
android:title="@string/action_bar_search"
|
android:title="@string/action_bar_search"
|
||||||
app:showAsAction="ifRoom"
|
android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
|
||||||
|
app:showAsAction="ifRoom|collapseActionView"
|
||||||
app:actionViewClass="android.support.v7.widget.SearchView" />
|
app:actionViewClass="android.support.v7.widget.SearchView" />
|
||||||
<item android:id="@+id/action_add"
|
<item android:id="@+id/action_add"
|
||||||
android:icon="@android:drawable/ic_menu_add"
|
android:icon="@android:drawable/ic_menu_add"
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
<item android:id="@+id/action_share"
|
<item android:id="@+id/action_share"
|
||||||
android:icon="@android:drawable/ic_menu_share"
|
android:icon="@android:drawable/ic_menu_share"
|
||||||
android:title="@string/action_bar_share"
|
android:title="@string/action_bar_share"
|
||||||
|
android:enabled="false"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
<item android:id="@+id/action_sort"
|
<item android:id="@+id/action_sort"
|
||||||
android:icon="@android:drawable/ic_menu_sort_by_size"
|
android:icon="@android:drawable/ic_menu_sort_by_size"
|
||||||
@@ -38,12 +39,10 @@
|
|||||||
<menu>
|
<menu>
|
||||||
<item android:id="@+id/action_sort_size"
|
<item android:id="@+id/action_sort_size"
|
||||||
android:icon="@android:drawable/ic_menu_sort_by_size"
|
android:icon="@android:drawable/ic_menu_sort_by_size"
|
||||||
android:title="@string/action_bar_sort_size"
|
android:title="@string/action_bar_sort_size" />
|
||||||
android:onClick="onSort" />
|
|
||||||
<item android:id="@+id/action_sort_alpha"
|
<item android:id="@+id/action_sort_alpha"
|
||||||
android:icon="@android:drawable/ic_menu_sort_alphabetically"
|
android:icon="@android:drawable/ic_menu_sort_alphabetically"
|
||||||
android:title="@string/action_bar_sort_alpha"
|
android:title="@string/action_bar_sort_alpha" />
|
||||||
android:onClick="onSort" />
|
|
||||||
</menu>
|
</menu>
|
||||||
</item>
|
</item>
|
||||||
</menu>
|
</menu>
|
||||||
|
|||||||
@@ -121,6 +121,9 @@
|
|||||||
necessary.
|
necessary.
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
|
<string name="toolbar_usage">AppCompat/Toolbar/Toolbar as Action Bar</string>
|
||||||
|
<string name="toolbar_display_options">AppCompat/Toolbar/Toolbar Display Options</string>
|
||||||
|
<string name="toolbar_fragment_pager">AppCompat/Toolbar/Toolbar Fragment ViewPager</string>
|
||||||
|
|
||||||
<string name="sample_media_route_provider_remote">Remote Playback (Simulated)</string>
|
<string name="sample_media_route_provider_remote">Remote Playback (Simulated)</string>
|
||||||
<string name="sample_media_route_activity_local">Local Playback</string>
|
<string name="sample_media_route_activity_local">Local Playback</string>
|
||||||
@@ -156,5 +159,6 @@
|
|||||||
|
|
||||||
<string name="palette">Palette</string>
|
<string name="palette">Palette</string>
|
||||||
<string name="palette_all_colors">Full color palette</string>
|
<string name="palette_all_colors">Full color palette</string>
|
||||||
|
<string name="search_hint">Search...</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
32
samples/Support7Demos/res/values/styles.xml
Normal file
32
samples/Support7Demos/res/values/styles.xml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2014 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<style name="Theme.Custom" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
|
<item name="colorPrimary">#ff00bcd4</item>
|
||||||
|
<item name="colorPrimaryDark">#00838f</item>
|
||||||
|
<item name="colorAccent">#ffff00</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="Theme.Custom.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
|
||||||
|
<item name="colorPrimary">#ff00bcd4</item>
|
||||||
|
<item name="colorPrimaryDark">#00838f</item>
|
||||||
|
<item name="colorAccent">#ffff00</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</resources>
|
||||||
22
samples/Support7Demos/res/xml/searchable.xml
Normal file
22
samples/Support7Demos/res/xml/searchable.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2014 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:label="@string/activity_sample_code"
|
||||||
|
android:hint="@string/search_hint"
|
||||||
|
android:searchSuggestAuthority="com.example.android.supportv7.RecentSuggestionsProvider"
|
||||||
|
android:searchSuggestSelection=" ?" />
|
||||||
@@ -15,6 +15,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.example.android.supportv7.app;
|
package com.example.android.supportv7.app;
|
||||||
|
|
||||||
|
import com.example.android.supportv7.R;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.FragmentTransaction;
|
import android.support.v4.app.FragmentTransaction;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
@@ -24,8 +26,8 @@ import android.view.Gravity;
|
|||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup.LayoutParams;
|
import android.view.ViewGroup.LayoutParams;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
import com.example.android.supportv7.R;
|
import android.widget.Toast;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This demo shows how various action bar display option flags can be combined and their effects.
|
* This demo shows how various action bar display option flags can be combined and their effects.
|
||||||
@@ -59,6 +61,21 @@ public class ActionBarDisplayOptions extends ActionBarActivity
|
|||||||
bar.addTab(bar.newTab().setText("Tab 1").setTabListener(this));
|
bar.addTab(bar.newTab().setText("Tab 1").setTabListener(this));
|
||||||
bar.addTab(bar.newTab().setText("Tab 2").setTabListener(this));
|
bar.addTab(bar.newTab().setText("Tab 2").setTabListener(this));
|
||||||
bar.addTab(bar.newTab().setText("Tab 3").setTabListener(this));
|
bar.addTab(bar.newTab().setText("Tab 3").setTabListener(this));
|
||||||
|
|
||||||
|
final ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(bar.getThemedContext(),
|
||||||
|
R.layout.support_simple_spinner_dropdown_item,
|
||||||
|
new String[] { "Item 1", "Item 2", "Item 3" });
|
||||||
|
bar.setListNavigationCallbacks(listAdapter, new ActionBar.OnNavigationListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
|
||||||
|
Toast.makeText(ActionBarDisplayOptions.this,
|
||||||
|
listAdapter.getItem(itemPosition),
|
||||||
|
Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
bar.setLogo(R.drawable.ic_media_play);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -94,10 +111,17 @@ public class ActionBarDisplayOptions extends ActionBarActivity
|
|||||||
flags = ActionBar.DISPLAY_SHOW_CUSTOM;
|
flags = ActionBar.DISPLAY_SHOW_CUSTOM;
|
||||||
break;
|
break;
|
||||||
case R.id.toggle_navigation:
|
case R.id.toggle_navigation:
|
||||||
bar.setNavigationMode(
|
switch (bar.getNavigationMode()) {
|
||||||
bar.getNavigationMode() == ActionBar.NAVIGATION_MODE_STANDARD
|
case ActionBar.NAVIGATION_MODE_STANDARD:
|
||||||
? ActionBar.NAVIGATION_MODE_TABS
|
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
||||||
: ActionBar.NAVIGATION_MODE_STANDARD);
|
break;
|
||||||
|
case ActionBar.NAVIGATION_MODE_TABS:
|
||||||
|
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
|
||||||
|
break;
|
||||||
|
case ActionBar.NAVIGATION_MODE_LIST:
|
||||||
|
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||||
|
break;
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
case R.id.cycle_custom_gravity: {
|
case R.id.cycle_custom_gravity: {
|
||||||
ActionBar.LayoutParams lp = mCustomViewLayoutParams;
|
ActionBar.LayoutParams lp = mCustomViewLayoutParams;
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ public class ActionBarTabs extends ActionBarActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
setContentView(R.layout.action_bar_tabs);
|
setContentView(R.layout.action_bar_tabs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,10 +60,8 @@ public class ActionBarTabs extends ActionBarActivity {
|
|||||||
|
|
||||||
if (bar.getNavigationMode() == ActionBar.NAVIGATION_MODE_TABS) {
|
if (bar.getNavigationMode() == ActionBar.NAVIGATION_MODE_TABS) {
|
||||||
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||||
bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);
|
|
||||||
} else {
|
} else {
|
||||||
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
||||||
bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,14 +67,19 @@ public class ActionBarUsage extends ActionBarActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case R.id.action_sort_alpha:
|
||||||
|
case R.id.action_sort_size:
|
||||||
|
onSort(item);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method is specified as an onClick handler in the menu xml and will
|
private void onSort(MenuItem item) {
|
||||||
// take precedence over the Activity's onOptionsItemSelected method.
|
|
||||||
// See res/menu/actions.xml for more info.
|
|
||||||
public void onSort(MenuItem item) {
|
|
||||||
mSortMode = item.getItemId();
|
mSortMode = item.getItemId();
|
||||||
// Request a call to onPrepareOptionsMenu so we can change the sort icon
|
// Request a call to onPrepareOptionsMenu so we can change the sort icon
|
||||||
supportInvalidateOptionsMenu();
|
supportInvalidateOptionsMenu();
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2014 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 android.content.SearchRecentSuggestionsProvider;
|
||||||
|
|
||||||
|
public class RecentSuggestionsProvider extends SearchRecentSuggestionsProvider {
|
||||||
|
public final static String AUTHORITY = "com.example.android.supportv7.RecentSuggestionsProvider";
|
||||||
|
public final static int MODE = DATABASE_MODE_QUERIES;
|
||||||
|
|
||||||
|
public RecentSuggestionsProvider() {
|
||||||
|
setupSuggestions(AUTHORITY, MODE);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2014 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 android.app.Activity;
|
||||||
|
import android.app.SearchManager;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.provider.SearchRecentSuggestions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An Activity which is only used for recieving ACTION_SEARCH intents, saving any queries
|
||||||
|
* to our SearchRecentSuggestions so that SearchView's can display suggestions.
|
||||||
|
*/
|
||||||
|
public class SearchActivity extends Activity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
// Get the intent, verify the action and get the query
|
||||||
|
Intent intent = getIntent();
|
||||||
|
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
|
||||||
|
String query = intent.getStringExtra(SearchManager.QUERY);
|
||||||
|
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
|
||||||
|
RecentSuggestionsProvider.AUTHORITY, RecentSuggestionsProvider.MODE);
|
||||||
|
suggestions.saveRecentQuery(query, null);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2014 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.os.Bundle;
|
||||||
|
import android.support.v4.app.FragmentTransaction;
|
||||||
|
import android.support.v7.app.ActionBar;
|
||||||
|
import android.support.v7.app.ActionBar.Tab;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.view.Gravity;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup.LayoutParams;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This demo shows how various action bar display option flags can be combined and their effects
|
||||||
|
* when used on a Toolbar-provided Action Bar
|
||||||
|
*/
|
||||||
|
public class ToolbarDisplayOptions extends ActionBarActivity
|
||||||
|
implements View.OnClickListener {
|
||||||
|
|
||||||
|
private View mCustomView;
|
||||||
|
private ActionBar.LayoutParams mCustomViewLayoutParams;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.toolbar_display_options);
|
||||||
|
|
||||||
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
findViewById(R.id.toggle_home_as_up).setOnClickListener(this);
|
||||||
|
findViewById(R.id.toggle_show_home).setOnClickListener(this);
|
||||||
|
findViewById(R.id.toggle_use_logo).setOnClickListener(this);
|
||||||
|
findViewById(R.id.toggle_show_title).setOnClickListener(this);
|
||||||
|
findViewById(R.id.toggle_show_custom).setOnClickListener(this);
|
||||||
|
findViewById(R.id.cycle_custom_gravity).setOnClickListener(this);
|
||||||
|
findViewById(R.id.toggle_visibility).setOnClickListener(this);
|
||||||
|
|
||||||
|
// Configure several action bar elements that will be toggled by display options.
|
||||||
|
mCustomView = getLayoutInflater().inflate(R.layout.action_bar_display_options_custom, null);
|
||||||
|
mCustomViewLayoutParams = new ActionBar.LayoutParams(
|
||||||
|
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.display_options_actions, menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onSupportNavigateUp() {
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
final ActionBar bar = getSupportActionBar();
|
||||||
|
int flags = 0;
|
||||||
|
switch (v.getId()) {
|
||||||
|
case R.id.toggle_home_as_up:
|
||||||
|
flags = ActionBar.DISPLAY_HOME_AS_UP;
|
||||||
|
break;
|
||||||
|
case R.id.toggle_show_home:
|
||||||
|
flags = ActionBar.DISPLAY_SHOW_HOME;
|
||||||
|
break;
|
||||||
|
case R.id.toggle_use_logo:
|
||||||
|
flags = ActionBar.DISPLAY_USE_LOGO;
|
||||||
|
getSupportActionBar().setLogo(R.drawable.ic_media_play);
|
||||||
|
break;
|
||||||
|
case R.id.toggle_show_title:
|
||||||
|
flags = ActionBar.DISPLAY_SHOW_TITLE;
|
||||||
|
break;
|
||||||
|
case R.id.toggle_show_custom:
|
||||||
|
flags = ActionBar.DISPLAY_SHOW_CUSTOM;
|
||||||
|
break;
|
||||||
|
case R.id.cycle_custom_gravity: {
|
||||||
|
ActionBar.LayoutParams lp = mCustomViewLayoutParams;
|
||||||
|
int newGravity = 0;
|
||||||
|
switch (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK) {
|
||||||
|
case Gravity.LEFT:
|
||||||
|
newGravity = Gravity.CENTER_HORIZONTAL;
|
||||||
|
break;
|
||||||
|
case Gravity.CENTER_HORIZONTAL:
|
||||||
|
newGravity = Gravity.RIGHT;
|
||||||
|
break;
|
||||||
|
case Gravity.RIGHT:
|
||||||
|
newGravity = Gravity.LEFT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
lp.gravity = lp.gravity & ~Gravity.HORIZONTAL_GRAVITY_MASK | newGravity;
|
||||||
|
bar.setCustomView(mCustomView, lp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
case R.id.toggle_visibility:
|
||||||
|
if (bar.isShowing()) {
|
||||||
|
bar.hide();
|
||||||
|
} else {
|
||||||
|
bar.show();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int change = bar.getDisplayOptions() ^ flags;
|
||||||
|
bar.setDisplayOptions(change, flags);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2014 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.os.Bundle;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v4.app.FragmentManager;
|
||||||
|
import android.support.v4.app.FragmentPagerAdapter;
|
||||||
|
import android.support.v4.app.FragmentTransaction;
|
||||||
|
import android.support.v4.view.MenuItemCompat;
|
||||||
|
import android.support.v4.view.ViewPager;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.view.Gravity;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.View.OnClickListener;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Demonstrates how fragments can participate in the options menu from within a {@link ViewPager}.
|
||||||
|
*/
|
||||||
|
public class ToolbarFragmentPagerMenu extends ActionBarActivity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.toolbar_fragment_pager);
|
||||||
|
|
||||||
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
ViewPager vp = (ViewPager) findViewById(R.id.viewpager);
|
||||||
|
PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(),
|
||||||
|
new MenuFragment(), new Menu2Fragment());
|
||||||
|
vp.setAdapter(adapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class PagerAdapter extends FragmentPagerAdapter {
|
||||||
|
private final List<Fragment> mFragments;
|
||||||
|
|
||||||
|
public PagerAdapter(FragmentManager fm, Fragment... fragments) {
|
||||||
|
super(fm);
|
||||||
|
|
||||||
|
mFragments = new ArrayList<Fragment>();
|
||||||
|
for (Fragment fragment : fragments) {
|
||||||
|
mFragments.add(fragment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Fragment getItem(int position) {
|
||||||
|
return mFragments.get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getCount() {
|
||||||
|
return mFragments.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A fragment that displays a menu. This fragment happens to not
|
||||||
|
* have a UI (it does not implement onCreateView), but it could also
|
||||||
|
* have one if it wanted.
|
||||||
|
*/
|
||||||
|
public static class MenuFragment extends Fragment {
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setHasOptionsMenu(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||||
|
MenuItemCompat.setShowAsAction(menu.add("Menu 1a"), MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
|
||||||
|
MenuItemCompat.setShowAsAction(menu.add("Menu 1b"), MenuItemCompat.SHOW_AS_ACTION_NEVER);
|
||||||
|
super.onCreateOptionsMenu(menu, inflater);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
|
||||||
|
@Nullable Bundle savedInstanceState) {
|
||||||
|
TextView textView = new TextView(container.getContext());
|
||||||
|
|
||||||
|
textView.setText(getClass().getSimpleName());
|
||||||
|
textView.setGravity(Gravity.CENTER);
|
||||||
|
textView.setLayoutParams(new ViewGroup.LayoutParams(
|
||||||
|
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
||||||
|
|
||||||
|
return textView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
if (item.getTitle().equals("Menu 1a")) {
|
||||||
|
Toast.makeText(getActivity(), "Selected Menu 1a.", Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (item.getTitle().equals("Menu 1b")) {
|
||||||
|
Toast.makeText(getActivity(), "Selected Menu 1b.", Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Second fragment with a menu.
|
||||||
|
*/
|
||||||
|
public static class Menu2Fragment extends Fragment {
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setHasOptionsMenu(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||||
|
MenuItemCompat.setShowAsAction(menu.add("Menu 2"), MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
|
||||||
|
@Nullable Bundle savedInstanceState) {
|
||||||
|
TextView textView = new TextView(container.getContext());
|
||||||
|
|
||||||
|
textView.setText(getClass().getSimpleName());
|
||||||
|
textView.setGravity(Gravity.CENTER);
|
||||||
|
textView.setLayoutParams(new ViewGroup.LayoutParams(
|
||||||
|
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
|
||||||
|
|
||||||
|
return textView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
if (item.getTitle().equals("Menu 2")) {
|
||||||
|
Toast.makeText(getActivity(), "Selected Menu 2.", Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2014 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.app.SearchManager;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v4.view.MenuItemCompat;
|
||||||
|
import android.support.v7.app.ActionBarActivity;
|
||||||
|
import android.support.v7.view.ActionMode;
|
||||||
|
import android.support.v7.widget.PopupMenu;
|
||||||
|
import android.support.v7.widget.SearchView;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This demonstrates idiomatic usage of the Toolbar as the action bar.
|
||||||
|
*/
|
||||||
|
public class ToolbarUsage extends ActionBarActivity {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.toolbar_usage);
|
||||||
|
|
||||||
|
// Retrieve the Toolbar from our content view, and set it as the action bar
|
||||||
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
MenuInflater inflater = getMenuInflater();
|
||||||
|
inflater.inflate(R.menu.actions, menu);
|
||||||
|
|
||||||
|
// Retrieve the SearchView and plug it into SearchManager
|
||||||
|
final SearchView searchView = (SearchView) MenuItemCompat
|
||||||
|
.getActionView(menu.findItem(R.id.action_search));
|
||||||
|
|
||||||
|
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
|
||||||
|
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
Toast.makeText(this, "Selected Item: " + item.getTitle(), Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user