我已经阅读了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。