我通过对自定义视图进行充气来自定义ActionBar
。
我的自定义操作栏XML布局是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_horizontal"
android:background="@drawable/actionbar_bg" >
<TextView
android:id="@+id/ab_main_text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:gravity="right|center_vertical"
android:text="heaer_text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#ffffff" />
<ImageView
android:id="@+id/ab_main_img0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:clickable="true"
android:src="@drawable/ab_main_img_layer_list" />
</RelativeLayout>
但我不知道为什么在我的ImageView
运行时会出现不需要的左边填充!如下图所示:
有谁知道吗?
答案 0 :(得分:1)
似乎当您在自定义操作栏xml布局上的ImageView(而非TextView)中使用“wrap_content”或“match_parent”时,您的操作栏中将有填充,否则您没有。
因此,请尝试更改您的xml,如下所示:将固定大小设置为ImageView(您还可以添加一些margin_left以获得更好的外观)。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_horizontal"
android:background="@drawable/actionbar_bg" >
<TextView
android:id="@+id/ab_main_text"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="16dp"
android:gravity="right|center_vertical"
android:text="heaer_text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#ffffff" />
<ImageView
android:id="@+id/ab_main_img0"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:clickable="true"
android:src="@drawable/ab_main_img_layer_list" />
</RelativeLayout>
编辑:刚刚编辑了我的答案,以便更准确地解释问题:)。希望它也能帮助别人。
答案 1 :(得分:0)
你应该试试这个
android:layout_marginLeft="5dp"
在ImageView中
<ImageView
android:id="@+id/ab_main_img0"
android:layout_width="50px"
android:layout_height="50px"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:clickable="true"
android:layout_marginLeft="5dp"
android:src="@drawable/ab_main_img_layer_list" />