android - 如何将 ActionBar 放置在 SlidingMenu 上(就像在 Evernote 应用程序中一样)?

标签 android user-interface android-actionbar

enter image description here

我想制作像 Evernote 中那样具有 ActionBar 的幻灯片菜单。在这个应用程序中,似乎它有 2 个 ActionBars(我不确定)。一个在主菜单中,另一个在滑动菜单中。

有没有像这样构建 2 个 ActionBar 的方法? 或者它只是一种类似于 ActionBar 外观的布局安排。

感谢您的帮助,抱歉我的英语不好。

附言。我使用 ActionBarSherlock 和 SlidingMenu 来实现这一点,但我找不到像在 Evernote 中那样做的方法。

最佳答案

你写道:

I use (...) SlidingMenu

如果 SlidingMenu 你的意思是 Jeremy FeinsteinSlidingMenu ,并且你想继续使用这个菜单库,你不能使用“真正的”ActionBar,因为 SlidingMenu 的 菜单是作为 Fragment 实现的>,在库中命名为 SlidingMenuFragmentFragment 不能容纳 ActionBar

您可以创建一个看起来像 ActionBar 的布局。在 SlidingMenuFragment 的中,您可以像这样设置布局文件:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    ViewGroup viewGroup = (ViewGroup) inflater.inflate(R.layout.sliding_menu,null);

在菜单的布局文件中,这里称为 sliding_menu.xml,例如,您可以通过以下方式使 SearchView 看起来像在 ActionBar 中将它嵌套在顶部的布局中。然后将该布局的背景颜色/可绘制对象设置为与列表其余部分不同的颜色。请参阅下面的示例(我知道嵌套 LinearLayouts 并不漂亮...只是一个使用 SlidingMenu 示例应用程序中的 LinearLayout 来理解想法的快速示例) :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#333333" >

        <SearchView
            android:id="@+id/searchView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/list_padding"
        android:paddingRight="@dimen/list_padding" />

</LinearLayout>

这看起来像:

enter image description here

打开时,右侧的浅灰色框是“真实”ActionBar 的一部分。

编辑:您在评论中写道:

The searchView example works Im having trouble getting a drop down menu to work in the same way.

EverNote 应用中的下拉菜单看起来像是用 Holo 主题实现的 Spinner . Android 开发人员有一个彻底的introduction关于如何将 Spinner 添加到布局中。 Spinner 的逻辑/java 代码将放在 SlidingMenuFragment 中(如果您使用 SlidingMenu 库)。

关于android - 如何将 ActionBar 放置在 SlidingMenu 上(就像在 Evernote 应用程序中一样)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394568/

相关文章:

java - 这个错误 "Caused by: java.lang.RuntimeException: Found more than one sub-view matching holder with view: has descendant: with id:"是什么意思?

android - 如何在android中播放dailymotion视频

jQuery ui 可单行拖动表格

jquery - 将 Jquery 与 Iframe 和进度指示器结合使用

android - Iappcompat v21 : material design ActionBar() InflateException error-inflating-class

android - 如何以编程方式设置操作栏上的文本

Android Mediastore 和外部数据库

android - 如何将 onClickListener 添加到 ListView 行中的不同项目

html - 将列表项对齐到 ul 容器的顶部

android - 确定操作栏是否拆分