我已经阅读了 ActionBar 并尝试了一些东西。我已经到了用这样的自定义视图替换 ActionBar 的地步:
getSupportActionBar().setCustomView(R.layout.actionbar_timer);
但是有些图标太大了,这不是我想要的样子,右边有一个巨大的填充(选项菜单图标)。
所以这就是我的 actionbar_timer 布局的样子:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/de.myapp"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_horizontal"
android:background="#000"
android:focusable="true">
<ImageView
android:id="@+id/actionbar_back"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:src="@drawable/icon_actionbar_back" />
<ImageView
android:id="@+id/actionbar_moon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:src="@drawable/icon_actionbar_moon" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:layout_marginRight="5dp"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/actionbar_timer"
android:src="@drawable/icon_actionbar_clock" />
<ImageView
android:id="@+id/actionbar_icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/actionbar_back"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:src="@drawable/icon_actionbar_something" />
<de.myapp.views.TextViewPlus
android:id="@+id/actionbar_timer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/actionbar_moon"
android:gravity="center|center"
android:text="00:00:00"
android:textColor="#FFFFFF"
android:textSize="20sp"
app:customFont="roboto_regular.ttf" />
<View
android:background="#33b5e5"
android:layout_height="1.5dp"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
/>
</RelativeLayout>
因此,我在布局的最右侧元素设置了 alignParentRight="true",但视图和选项菜单图标之间仍然存在很大差距。
有没有办法缩小这个差距?此外,我必须在布局末尾使用 View-stub “重新创建” ActionBar 底部的蓝线。我怎样才能避免这种情况?顺便说一句,我正在使用 ActionBarSherlock。