主页右侧的ActionBar按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主页右侧的ActionBar按钮相关的知识,希望对你有一定的参考价值。

我需要在操作栏上的后箭头右侧放​​置一个按钮(主页)。要求是捕获左箭头(通常是主页按钮)并执行我工作的onBackPressed。现在我如何在左箭头的右侧添加一个按钮,这样当我点击它时,我可以在onOptionsItemSelected上捕获它并让它执行Home函数。我尝试创建一个相对布局,其中包含一个图像视图作为测试,然后在使用actionBar.setCustomView(v)进行视图设置之后设置它;但它似乎确实出现了。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill_horizontal">

        <ImageButton
            android:id="@+id/bookmark_home_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:src="@drawable/common_google_signin_btn_icon_dark" />


    </RelativeLayout>

因此最终创建了一个自定义操作栏,如下所示:

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

    <ImageButton
        android:id="@+id/bookmark_actionbar_left_btn"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:background="@null"
        android:src="@drawable/navigation_back" />

    <ImageButton
        android:id="@+id/bookmark_actionbar_logo_btn"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:background="@null"
        android:paddingLeft="20dp"
        android:src="@drawable/app_launcher" />

</LinearLayout>

然后在onCreate

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.bookmark_actionbar);

ImageButton goBackBtn = (ImageButton) findViewById(R.id.bookmark_actionbar_left_btn);
    goBackBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onBackPressed();
        }
    });

ImageButton goHomeBtn = (ImageButton) findViewById(R.id.bookmark_actionbar_subrosa_btn);
    goHomeBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            NavUtils.navigateUpFromSameTask(BookmarkList.this);
        }
    });
答案

所以我最终使用了Custom ActionBar - 请参阅上面的更新

以上是关于主页右侧的ActionBar按钮的主要内容,如果未能解决你的问题,请参考以下文章

删除选项卡时在 ActionBar 选项卡片段中运行代码

从android中的片段更改自定义ActionBar标题

Android Studio:如何从 Fragment 在 ActionBar 中实现后退按钮

如何在带有更多片段的操作栏上添加后退按钮

如何在ActionBar(Android)中添加按钮?

带有片段的 Android Up 按钮未显示完整片段