Articles of android actionbar

search视图使用应用程序图标而不是徽标

Android文档解释说,应用程序标识在定义时被使用到处。 但是,当search视图展开时,使用应用程序图标而不是应用程序徽标,search视图处于展开状态时找不到应用程序徽标的方式。 这里是相关的部分。 清单文件 <application android:name="MyApp" android:allowBackup="true" android:icon="@drawable/app_icon" android:label="@string/app_name" android:logo="@drawable/app_logo" android:theme="@style/Theme.MyTheme" > searchable.xml(设置图标不会改变任何东西) <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:icon="@drawable/app_logo" android:label="@string/app_name" android:hint="@string/search_hint" > </searchable> menu.xml文件 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_search" android:actionViewClass="com.actionbarsherlock.widget.SearchView" android:icon="@drawable/ic_search" android:showAsAction="always|collapseActionView" /> 活动代码 SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = new SearchView(getSupportActionBar().getThemedContext()); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); menu.findItem(R.id.menu_search).setActionView(searchView); 注:我使用ABS SearchView,但同样的事情发生时,我切换到默认的SearchView。 编辑:我添加了一些截图清晰。 在这里,我使用了应用程序徽标的星形图像和应用程序图标的Android图像。 第一个屏幕截图是活动的默认视图。 第二个是我点击searchbutton时的视图。 它显示Android图像,而我期望它是明星形象。

获取DrawerLayout在ActionBar上滑动

在活动中有一个滑动抽屉菜单,其中有一个带有一些选项卡的操作栏。 我想让滑动抽屉滑过标签,而不是在它们下面。 这就是现在的样子 任何想法如何做到这一点? 注意:我知道我可能会在这里打破一些约定和UI模式,如果它根本不起作用,我会考虑替代方法。 但是我想首先得到这个工作。 编辑:请参阅下面的Google Play音乐应用程序的屏幕截图,这正是我需要的。 请参阅下面@ CommonsWare的答案,他同意我可能违反惯例。 但随后给予Play音乐应用程序,可能并不完全是罕见的。

无法获取操作栏中的searchview工作

我是相当新的Java和Android开发; 我一直在一个女巫的应用程序,我想要一个带有SearchView的操作栏。 我看了谷歌的例子,但我不能得到它的工作。 我一定在做错事,我即将放弃应用程序开发:DI已经search,但我还没有发现任何有用的东西。 也许你们可以帮我:) 问题 :我得到的search视图打开,因为它应该,但之后没有任何反应,我注意到我的searchManager.getSearchableInfo(getComponentName())返回null。 我的提示也没有显示在我的search框巫婆让我相信,也许应用程序找不到我的searchable.xml? 说够了:) MainActivity.java public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); // Get the SearchView and set the searchable configuration SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setSearchableInfo( searchManager.getSearchableInfo(getComponentName())); return […]

我的MenuItem的getActionView()返回null

我只是想通过代码来调整ActionBar MenuItem的视图。 不幸的是,似乎getActionView总是返回null! 我的代码: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = this.getSupportMenuInflater(); inflater.inflate(R.menu.folder, menu); return super.onCreateOptionsMenu(menu); } public boolean onPrepareOptionsMenu(final Menu menu) { MenuItem menuFolder = menu.findItem(R.id.menu_folder); Log.i("", "* onPrepareOptionsMenu *" + menuFolder); Log.i("", "* getActionView *" + menuFolder.getActionView()); 日志是: 01-11 22:13:42.884:I /(7893):* onPrepareOptionsMenu *com.actionbarsherlock.internal.view.menu.MenuItemWrapper@41401ac8 01-11 22:13:42.884:I /(7893):* getActionView * null 非常感谢您的帮助 编辑: […]

软键盘隐藏操作栏

我有一个简单的活动与文本视图,其次是两个编辑文本。 当我开始打字时,软键盘将布局向上推并隐藏操作栏,我将无法select/复制/粘贴文本。 我的活动看起来像这样: 当我开始input时,操作栏会隐藏起来,就像这样 – 更重要的是,请注意,即使突出显示文本,正常的复制粘贴栏也会丢失: 我能做些什么来确保操作栏不会隐藏? 我尝试了一些其他技巧(如使用滚动视图),但没有工作。 该应用程序是使用Android Studio 1.4.1向导与抽屉活动创build的。 在我的活动清单,我使用adjustPan。 我不想使用adjustResize。 android:windowSoftInputMode="stateAlwaysHidden|adjustPan" 我的活动在这里: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/navigation_drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/app_theme.app_bar_overlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/app_theme.popup_overlay" /> </android.support.design.widget.AppBarLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="@dimen/activity_margin" android:fillViewport="true" android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="0.5" […]

Android ICS:删除ActionBar中的蓝色分隔线?

我正在开发一个全屏的应用程序,但会利用ActionBar的一些function。 随着冰淇淋Sandwhich释放,我看到,我得到一个蓝色的行分隔符/分隔符作为ActionBar的一部分。 通常情况下,这将有利于一致性,但在我的情况下,我需要删除分隔线。 如何删除或deviseICS中的ActionBar分隔符? 尝试使用“android:style / Widget.Holo.ActionBar”作为父母设置自定义主题。 但是,下面的设置不起作用 <item name="android:divider">#FFFFFF</item>

实施支持库操作栏时出错

我正在尝试实施新的v7支持库ActionBar 。 但是,我无法让它正常运行。 这是例外 07-25 09:30:01.704: E/AndroidRuntime(9175): FATAL EXCEPTION: main 07-25 09:30:01.704: E/AndroidRuntime(9175): java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98) 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58) 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98) 07-25 09:30:01.704: E/AndroidRuntime(9175): at com.cidaut.termoweb.MainActivity.onCreate(MainActivity.java:23) 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.app.Activity.performCreate(Activity.java:5133) 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 07-25 09:30:01.704: E/AndroidRuntime(9175): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) […]