3

我设法使用自定义视图将 ABS 的标题居中,但主页按钮不见了。如何解决?将这个主页按钮放在自定义视图中的唯一方法是什么?(要清楚:主页按钮应该在左边而不是在中间)

自定义视图:

<?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:gravity="center"
    android:background="@android:color/transparent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"/>

</LinearLayout>

活动代码:

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.widget_actionbar_title);
getSupportActionBar().setHomeButtonEnabled(true);
4

4 回答 4

4
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    View customView = LayoutInflater.from(this).inflate(
            R.layout.app_icon, null);
    ActionBar.LayoutParams params = new ActionBar.LayoutParams(
            ActionBar.LayoutParams.MATCH_PARENT,
            ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);

    getSupportActionBar().setCustomView(customView, params);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setIcon(getResources().getDrawable(R.drawable.back_button));
于 2013-04-04T12:10:52.173 回答
1

添加这个:

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM  | ActionBar.DISPLAY_SHOW_HOME);
于 2013-08-16T03:36:28.920 回答
1

解决方案很简单)
改变你的布局

android:layout_width="match_parent"

对此:

android:layout_width="wrap_content"

这会有所帮助,因为您的初始布局占据了所有可见的位置,并且没有“家”的位置

于 2014-02-05T16:17:25.760 回答
0

我必须添加此代码才能使其工作:

getSupportActionBar().setDisplayShowHomeEnabled(true);
于 2013-01-28T12:39:05.863 回答