自定义布局左侧有空格

时间:2017-08-13 14:30:01

标签: xml android-layout android-actionbar

问题在于,我的后箭头以及带有个人资料图像的ImageView正如WhatsApp在其聊天布局中所拥有的那样。 我希望这个后退箭头位于操作栏的最左侧,图像应该带有后退箭头。就像whatsapp。

enter image description here

我的xml代码附在此处

<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>

1 个答案:

答案 0 :(得分:0)

尝试用以下方法替换后退按钮代码:

<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" />

说明:

不应将layout_width设置为固定宽度,而应将其设置为wrap_content。如果这仍然不能满足您的要求,您可以设置android:paddingLeft =&#34; 一些负值&#34;和android:paddingRight =&#34; 一些负值&#34;或者android:paddingStart =&#34; 一些负值&#34;和android:paddingEnd =&#34; 一些负值&#34; (从右到左的支持)。尝试尝试不同的值以找到最佳配置。