标签: android-toolbar

如何在Android工具栏中使用SearchView

我正在使用的代码是使用Toolbar和膨胀a menu.

这是代码

private Toolbar mToolbar;
mToolbar.inflateMenu(R.menu.chat_screen_menu);
setupMenu ();
private void setupMenu ()
   {
   mMenu = mToolbar.getMenu();
   if (mMenu != null)
      {
       if (mChatPager != null && mChatPager.getCurrentItem() > 0)
          {
          mMenu.setGroupVisible(R.id.menu_group_chats, true);
          mMenu.setGroupVisible(R.id.menu_group_contacts, false);
          }
       else
          {
           mMenu.setGroupVisible(R.id.menu_group_chats, false);
           mMenu.setGroupVisible(R.id.menu_group_contacts, true);
           mMenu.setGroupVisible(R.id.menu_group_otr_verified,false);
           mMenu.setGroupVisible(R.id.menu_group_otr_unverified,false);
           mMenu.setGroupVisible(R.id.menu_group_otr_off,false);
          }
    }
    mToolbar.setOnMenuItemClickListener(new OnMenuItemClickListener ()
    {
    ..........
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在,他们需要一个Search按钮tool_bar.我设法说出来了,我在这里按照指南 当我尝试写一些东西进行搜索时,我已经测试listener过的东西来测试从未显示过的东西.表示listener不起作用

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.chat_screen_menu, …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar searchview android-toolbar

117
推荐指数
4
解决办法
17万
查看次数

使用支持创建首选项屏幕(v21)工具栏

我在"首选项"屏幕上的支持库中使用新的"材质设计"工具栏时遇到问题.

我有一个settings.xml文件,如下所示:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory
        android:title="@string/AddingItems"
        android:key="pref_key_storage_settings">

        <ListPreference
            android:key="pref_key_new_items"
            android:title="@string/LocationOfNewItems"
            android:summary="@string/LocationOfNewItemsSummary"
            android:entries="@array/new_items_entry"
            android:entryValues="@array/new_item_entry_value"
            android:defaultValue="1"/>

    </PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

字符串在别处定义.

android android-actionbar android-actionbar-compat android-5.0-lollipop android-toolbar

115
推荐指数
9
解决办法
7万
查看次数

如何设置appcompat-v7工具栏的样式,如Theme.AppCompat.Light.DarkActionBar?

我正在尝试Theme.AppCompat.Light.DarkActionBar使用新的支持库工具栏重新创建外观.

如果我选择Theme.AppCompat.Light我的工具栏会很轻,如果我选择Theme.AppCompat它会很暗.(从技术上讲,你必须使用该.NoActionBar版本,但据我所知,唯一的区别是

<style name="Theme.AppCompat.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

现在已经没有Theme.AppCompat.Light.DarkActionBar天真了,我认为只做自己的就好了

<style name="Theme.AppCompat.Light.DarkActionBar.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然而,有了这个,我的工具栏仍然是Light主题.我花了几个小时现在尝试混合Dark(基础)主题和Light主题的不同组合,但我找不到一个组合,让我在除工具栏之外的所有东西上都有浅色背景.

有没有办法让AppCompat.Light.DarkActionBar导入的外观android.support.v7.widget.Toolbar

android android-appcompat android-theme android-toolbar

103
推荐指数
6
解决办法
15万
查看次数

无法捕获工具栏主页按钮单击事件

我已经实现了最新的appcompat库并使用了Toolbaras操作栏.但问题是我无法抓住主页按钮/汉堡包图标点击事件.我试过看了一切,但似乎没有找到类似的问题.

这是我的Activity班级:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    // Set up the drawer.
    navDrawerFragment = 
        (NavigationDrawerFragment) getSupportFragmentManager()
        .findFragmentById(R.id.navigation_drawer);
    navDrawerFragment.setUp(
        R.id.navigation_drawer, 
        (DrawerLayout) findViewById(R.id.drawer_layout), 
        toolbar);
}
Run Code Online (Sandbox Code Playgroud)

这是我的NavigationDrawerFragment类:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (savedInstanceState != null) {
        currentSelectedPosition = savedInstanceState.getInt(
            STATE_SELECTED_POSITION);
        fromSavedInstanceState = true;
    }

    // Select either the default item (0) or the last selected item.
    selectItem(currentSelectedPosition);
}

@Override
public void onActivityCreated (Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // Indicate that this …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer android-toolbar

103
推荐指数
3
解决办法
11万
查看次数

如何从片段中获取工具栏?

ActionBarActivityNavigationDrawer和使用support_v7 Toolbar的动作条.在我的一个片段工具栏中有自定义视图.在其他片段中Toolbar应显示标题.

如何Toolbar从片段中获取自定义实例?我可以使用ActionBar getActivity().getActionBar(),但是如果我调用setTitle()这个实例ActionBar它什么都不做.

UPD:

就我而言

((ActionBarActivity) getActivity()).getSupportActionBar().setTitle();

(正如MrEngineer13所说)在第一次片段创建时不起作用,因为我从onHiddenChanged()调用它.现在我向onCreateView()添加更多一个,它工作正常.

android android-fragments android-actionbar android-support-library android-toolbar

102
推荐指数
4
解决办法
14万
查看次数

在Android工具栏中创建一个按钮

如何在Android中创建一个Toolbar看起来像这个iOS例子的按钮?

iOS示例

android android-toolbar

98
推荐指数
6
解决办法
22万
查看次数

Android透明状态栏和操作栏

我已经对这个主题做了一些研究,我找不到一个完整的解决方案,所以,一步一步,经过一些反复试验,我终于找到了如何实现这些结果:透明或有色ActionbarStatusbar.请看下面的答案.

android android-appcompat android-actionbar android-toolbar android-statusbar

93
推荐指数
1
解决办法
11万
查看次数

在Appcompat 21中更改工具栏颜色

我正在测试新的Appcompat 21 Material Design功能.因此我创建了一个这样的工具栏:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_my_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
Run Code Online (Sandbox Code Playgroud)

并将其包含在我的主布局文件中.

然后我将它设置为supportActionBar:

Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar);
setSupportActionBar(toolBar);
Run Code Online (Sandbox Code Playgroud)

它工作,但不知何故,我无法弄清楚如何自定义工具栏.它是灰色的,上面的文字是黑色的.我该如何更改背景和文字颜色?

我已经完成了这个指示:

http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html

我有什么要改变颜色的?

 <style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:windowActionBar" tools:ignore="NewApi">false</item>
    <item name="windowActionBar">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

编辑:

我可以通过在主题中添加以下代码行来更改背景颜色:

<item name="colorPrimary">@color/actionbar</item>
<item name="colorPrimaryDark">@color/actionbar_dark</item>
Run Code Online (Sandbox Code Playgroud)

但它们不会影响文字颜色.我错过了什么?我宁愿选择白色文字和白色菜单按钮,而不是黑色文字和黑色菜单按钮:

在此输入图像描述

android android-appcompat android-actionbar android-actionbar-compat android-toolbar

87
推荐指数
5
解决办法
13万
查看次数

在工具栏上显示ActionMode

我试图使用android.view.ActionMode新的android.support.v7.widget.Toolbar,除了传统的android.app.ActionBar.我可以用以下方式显示它:

toolbar.startActionMode(callback);
Run Code Online (Sandbox Code Playgroud)

问题是,ActionMode显示在ActionBar,而不是在Toolbar.有办法改变吗?

我试图在我的主题中设置以下内容,但它似乎没有改变任何东西:

<item name="windowActionModeOverlay">true</item>
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-actionmode android-toolbar

85
推荐指数
6
解决办法
3万
查看次数

android工具栏popupTheme vs主题

我经常在布局文件中看到工具栏的这个声明:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

为什么有两个与主题相关的属性:主题和弹出主题?

每个人的目的是什么?

android android-appcompat android-support-library android-toolbar

79
推荐指数
1
解决办法
2万
查看次数