【发布时间】:2014-09-24 13:15:45
【问题描述】:
我正在尝试自定义 ActionBar 以显示徽标。我第一次尝试这样做
actionBar.setIcon(R.drawable.logo);
但是我需要这个更大一点,所以我尝试创建一个自定义布局并将其膨胀到默认的 actionBar 上。
我已经阅读了几篇教程,几乎所有教程都在相同的过程中匹配。所以我继续说:
custom_actionbar.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ablogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:src="@drawable/logo" />
</RelativeLayout>
MainActivity.java -> onCreate() 方法
actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
/*Inflate your custom actionBar layout*/
View customActionBar = getLayoutInflater().inflate(R.layout.custom_actionbar, null);
actionBar.setCustomView(customActionBar);
但我意识到自定义操作栏布局并没有填满整个操作栏。应该在左侧的徽标图像位于操作栏的中间,看起来即使默认图标和标题没有显示,操作栏也为它们保留了不可触碰的空间。
那么,如何正确地覆盖操作栏并能够在其左侧设置我的徽标图像?
【问题讨论】: