如何给Android的ActionBar添加点击事件?

我的Activity有一个列表,想点击ActionBar后列表滚到最顶部,想问下如何给ActionBar添加点击事件。不用自定义的ActionBar,就用原生的。我试过给ActionBar添加一个CustomView,给Customview添加点击事件,是可行的。但是Customview要不太小无法撑慢整个ActionBar的高度,如果设置太大则会覆盖掉左上角的标题,求解。

阅读 12.4k
1 个回答

如你所说,用CustomView

layout:

<?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" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:textColor="#FFF"
        android:text="我才是标题" />

</LinearLayout>

部分代码:

View customView = LayoutInflater.from(this).inflate(R.layout.back, new LinearLayout(this), false);
        getActionBar().setDisplayShowCustomEnabled(true);
        getActionBar().setCustomView(customView);
        customView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {   
                Toast.makeText(MainActivity.this, "....", 10000).show();
            }
        });

我自己测试过,暂无出现你所说的问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题