Xml 自定义布局在左侧有空间
问题是,我有一个返回箭头和一个带有个人资料图像的ImageView,正如WhatsApp在其聊天版面中所做的那样。 我想把这个背向箭头放在动作条的最左边,图片应该是背向箭头。就像whatsapp一样 我的xml代码附在这里Xml 自定义布局在左侧有空间,xml,android-layout,android-actionbar,Xml,Android Layout,Android Actionbar,问题是,我有一个返回箭头和一个带有个人资料图像的ImageView,正如WhatsApp在其聊天版面中所做的那样。 我想把这个背向箭头放在动作条的最左边,图片应该是背向箭头。就像whatsapp一样 我的xml代码附在这里 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="?attr/actionBarSize"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true">
<ImageView
android:id="@+id/navigation_back_post_comment"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignBottom="@+id/post_author_layout_inflate"
android:layout_alignTop="@+id/post_author_layout_inflate"
android:layout_gravity="left|center"
android:gravity="center_vertical"
android:scaleType="center"
android:src="@drawable/ic_arrow_back_black_24dp" />
<LinearLayout
android:id="@+id/post_author_layout_inflate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/navigation_back_post_comment"
android:layout_toRightOf="@+id/navigation_back_post_comment"
android:gravity="center_vertical"
android:orientation="horizontal">
<android.support.v7.widget.CardView
android:layout_width="40dp"
android:layout_height="40dp"
app:cardCornerRadius="20dp">
<ImageView
android:id="@+id/post_author_photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_action_account_circle_40" />
</android.support.v7.widget.CardView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/post_author"
style="@style/Base.TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:textColor="@color/cardview_light_background"
android:textStyle="bold"
tools:text="someauthor" />
<TextView
android:id="@+id/post_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:gravity="center_vertical"
android:textColor="@color/cardview_light_background"
android:textSize="@dimen/email_text_size"
android:textStyle="bold"
tools:text="someauthor@email.com" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/star_layout_inflate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/post_author_layout_inflate"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/post_author_layout_inflate"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/star_cmnt_inflate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:background="?attr/selectableItemBackground"
android:src="@drawable/ic_create_white_24dp" />
<TextView
android:id="@+id/post_num_stars_cmnt_inflate"
style="@style/Base.TextAppearance.AppCompat.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/cardview_light_background"
android:textStyle="bold"
tools:text="7" />
</LinearLayout>
</RelativeLayout>
尝试用以下代码替换后退按钮代码:
<ImageView
android:id="@+id/navigation_back_post_comment"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_alignBottom="@+id/post_author_layout_inflate"
android:layout_alignTop="@+id/post_author_layout_inflate"
android:layout_gravity="left|center"
android:gravity="center_vertical"
android:scaleType="center"
android:src="@drawable/ic_arrow_back_black_24dp" />
说明:
不应将布局宽度设置为固定宽度,而应将其设置为包裹内容。如果这仍然不能满足您的要求,您可以设置android:paddingLeft=“一些负值”和android:paddingRight=“一些负值”或android:paddingStart=“一些负值”和android:paddingEnd=“一些负值”(用于从右到左的支持)。尝试尝试不同的值以找到最佳配置。尝试用以下代码替换后退按钮代码:
<ImageView
android:id="@+id/navigation_back_post_comment"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_alignBottom="@+id/post_author_layout_inflate"
android:layout_alignTop="@+id/post_author_layout_inflate"
android:layout_gravity="left|center"
android:gravity="center_vertical"
android:scaleType="center"
android:src="@drawable/ic_arrow_back_black_24dp" />
说明:
不应将布局宽度设置为固定宽度,而应将其设置为包裹内容。如果这仍然不能满足您的要求,您可以设置android:paddingLeft=“一些负值”和android:paddingRight=“一些负值”或android:paddingStart=“一些负值”和android:paddingEnd=“一些负值”(用于从右到左的支持)。尝试使用不同的值进行实验,以找到最佳配置。负值可能会起作用,但这不是一种错误的方法,因为在android的其他设备上,它将不同@HarisGusic@UttamMeerwal如果将填充设置为dp值,则它将在不同的设备上相应地缩放。例如,如果您的图像是24dp,并且您设置了android:paddingLeft=“-8dp”,则在每个设备上都可以看到图像的16dp。另一种解决方案是裁剪源图像。我假设您使用的是google提供的原始back图标,因此它有一些左右填充。您可以尝试编辑图像以删除填充。但是请注意,您必须针对不同的密度编辑所有不同版本的图像。负值可能会起作用,但这不是一种错误的方式,因为在android的其他设备上,它将不同@HarisGusic@UttamMeerwal如果将填充设置为dp值,则它将在不同的设备上相应地缩放。例如,如果您的图像是24dp,并且您设置了android:paddingLeft=“-8dp”,则在每个设备上都可以看到图像的16dp。另一种解决方案是裁剪源图像。我假设您使用的是google提供的原始back图标,因此它有一些左右填充。您可以尝试编辑图像以删除填充。但是请注意,您必须针对不同的密度编辑图像的所有不同版本。