为什么我的自定义 Actionbar 上的图像有不需要的左填充
Why my image on my custom Actionbar has unwanted left padding
我通过扩充自定义视图来自定义 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
在 运行 时有一个不需要的左填充!!!如下图:
有人知道吗?
似乎当您在自定义操作栏 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>
编辑:刚刚编辑了我的答案,以便更准确地解释问题 :)。希望对其他人也有帮助。
你应该试试这个
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" />
我通过扩充自定义视图来自定义 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
在 运行 时有一个不需要的左填充!!!如下图:
有人知道吗?
似乎当您在自定义操作栏 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>
编辑:刚刚编辑了我的答案,以便更准确地解释问题 :)。希望对其他人也有帮助。
你应该试试这个
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" />