我设法使用自定义视图将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);
答案 0 :(得分: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));
答案 1 :(得分:1)
添加:
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME);
答案 2 :(得分:1)
解决方案非常简单)
更改布局
android:layout_width="match_parent"
就此:
android:layout_width="wrap_content"
它会有所帮助,因为你的初始布局占据了所有可见的位置而且没有“家”的地方
答案 3 :(得分:0)
我必须添加此代码才能使其正常工作:
getSupportActionBar().setDisplayShowHomeEnabled(true);