DecorToolbar.java revision acce58688e2c3e5abd0b13e78dcf2c26710eabd0
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2014 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.support.v7.internal.widget; 19519494e207322581075c8ea884fde9d33bb9209eAlan Viverette 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.graphics.drawable.Drawable; 2252b999f0721b53e9c6e18a4bd664e89aeb65b2d5Alan Viveretteimport android.os.Parcelable; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.support.v4.view.ViewPropertyAnimatorCompat; 244d971c1fa0c71400ff1e843b8d8b4826d0aece16Alan Viveretteimport android.support.v7.internal.view.menu.MenuBuilder; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.support.v7.internal.view.menu.MenuPresenter; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.SparseArray; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.Menu; 28b49f446c98096c4790a11d9b5bc83a4e585278c9Chris Craikimport android.view.View; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.ViewGroup; 30519494e207322581075c8ea884fde9d33bb9209eAlan Viveretteimport android.view.Window; 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.SpinnerAdapter; 3243027b7bca554818cc4223389747d661819d5706Alan Viverette 3343027b7bca554818cc4223389747d661819d5706Alan Viverette/** 34519494e207322581075c8ea884fde9d33bb9209eAlan Viverette * Common interface for a toolbar that sits as part of the window decor. 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Layouts that control window decor use this as a point of interaction with different 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * bar implementations. 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @hide 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface DecorToolbar { 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ViewGroup getViewGroup(); 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Context getContext(); 4352b999f0721b53e9c6e18a4bd664e89aeb65b2d5Alan Viverette boolean hasExpandedActionView(); 4452b999f0721b53e9c6e18a4bd664e89aeb65b2d5Alan Viverette void collapseActionView(); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setWindowCallback(Window.Callback cb); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setWindowTitle(CharSequence title); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CharSequence getTitle(); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setTitle(CharSequence title); 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CharSequence getSubtitle(); 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setSubtitle(CharSequence subtitle); 5117dafdc8d8cb92a03294657d3a6e36c9c546d130Alan Viverette void initProgress(); 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void initIndeterminateProgress(); 53dfe5c204403bc56c29bb36410574eab8b1950417Scott Main boolean hasIcon(); 54dfe5c204403bc56c29bb36410574eab8b1950417Scott Main boolean hasLogo(); 55dfe5c204403bc56c29bb36410574eab8b1950417Scott Main void setIcon(int resId); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setIcon(Drawable d); 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setLogo(int resId); 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setLogo(Drawable d); 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean canShowOverflowMenu(); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isOverflowMenuShowing(); 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isOverflowMenuShowPending(); 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean showOverflowMenu(); 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean hideOverflowMenu(); 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setMenuPrepared(); 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setMenu(Menu menu, MenuPresenter.Callback cb); 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dismissPopupMenus(); 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDisplayOptions(); 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setDisplayOptions(int opts); 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setEmbeddedTabView(ScrollingTabContainerView tabView); 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean hasEmbeddedTabs(); 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isTitleTruncated(); 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setCollapsible(boolean collapsible); 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setHomeButtonEnabled(boolean enable); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getNavigationMode(); 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNavigationMode(int mode); 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setDropdownParams(SpinnerAdapter adapter, AdapterViewCompat.OnItemSelectedListener listener); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setDropdownSelectedPosition(int position); 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDropdownSelectedPosition(); 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDropdownItemCount(); 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setCustomView(View view); 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project View getCustomView(); 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void animateToVisibility(int visibility); 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ViewPropertyAnimatorCompat setupAnimatorToVisibility(int visibility, long duration); 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNavigationIcon(Drawable icon); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNavigationIcon(int resId); 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNavigationContentDescription(CharSequence description); 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNavigationContentDescription(int resId); 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setDefaultNavigationContentDescription(int defaultNavigationContentDescription); 9017dafdc8d8cb92a03294657d3a6e36c9c546d130Alan Viverette void setDefaultNavigationIcon(Drawable icon); 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void saveHierarchyState(SparseArray<Parcelable> toolbarStates); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void restoreHierarchyState(SparseArray<Parcelable> toolbarStates); 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setBackgroundDrawable(Drawable d); 9417dafdc8d8cb92a03294657d3a6e36c9c546d130Alan Viverette int getHeight(); 9517dafdc8d8cb92a03294657d3a6e36c9c546d130Alan Viverette void setVisibility(int visible); 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getVisibility(); 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setMenuCallbacks(MenuPresenter.Callback presenterCallback, 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project MenuBuilder.Callback menuBuilderCallback); 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Menu getMenu(); 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}