尝试修复设计android时的对齐问题

问题描述 投票:1回答:1

如何使对齐与上述标题完全吻合?

您可以在下面看到不匹配的屏幕截图。而且,当配置文件图标中的文本增加时,即使盒子也移动。

这是我的代码。 [main.xml中]

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="96dp"
            android:layout_marginTop="16dp"
            android:background="@color/colorAlabaster">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/textView9"
                android:layout_alignBottom="@+id/textView9"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_marginLeft="50dp"
                android:gravity="center"
                android:text="Retailer"
                android:textColor="@color/colorBlack"
                android:textSize="@dimen/text_size_very_small" />

            <TextView
                android:id="@+id/textView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerInParent="true"
                android:layout_centerVertical="true"
                android:singleLine="true"
                android:text="Hari sebelumnya"
                android:textColor="@color/colorBlack"
                android:textSize="@dimen/text_size_very_small" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="10dp"
                android:text="Pindahkan ke hari"
                android:textColor="@color/colorBlack"
                android:textSize="@dimen/text_size_very_small" />
        </RelativeLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Hello World!" />
   </LinearLayout>

</android.support.v4.widget.NestedScrollView>

在表row.xml中:

我无法调整此行以使其完全等于具有标题的上述布局以及表格行中的位置

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:baselineAligned="false"
        android:orientation="horizontal"
        android:paddingBottom="20dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="8dp"
            android:layout_weight="1"
            android:weightSum="4">


            <com.hutchison.h3i.newangie.customviews.CircleImageView
                android:id="@+id/recycle_profile"
                android:layout_width="@dimen/growth_sell_in_out_icon_size"
                android:layout_height="@dimen/growth_sell_in_out_icon_size"
                android:layout_gravity="center"
                android:layout_marginLeft="16dp"
                android:src="@drawable/ic_default_profile" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="8dp"
                android:layout_weight="0.2"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/recycle_txt_acc_num"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:maxLines="1"
                    android:singleLine="true"
                    android:text="14234234"
                    android:textColor="@color/colorBlack"
                    android:textSize="12sp" />

                <TextView
                    android:id="@+id/recycle_txt_acc_name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:maxLines="1"
                    android:singleLine="true"
                    android:text="@string/route_plan_default_name"
                    android:textColor="?attr/colorUserGroup"
                    android:textSize="12sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1">

                <android.support.v7.widget.AppCompatButton
                    android:id="@+id/from_day"
                    android:layout_width="86dp"
                    android:layout_height="30dp"
                    android:layout_marginLeft="10dp"
                    android:layout_gravity="center_horizontal"
                    android:background="@drawable/border_grey_curve"
                    android:gravity="center"
                    android:text="Selasa"
                    android:textAllCaps="false"
                    android:textColor="@color/colorBlack" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center">

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/right_arrow"
                    android:gravity="center"
                    android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="8dp">

                <android.support.v7.widget.AppCompatButton
                    android:id="@+id/to_day"
                    android:layout_width="90dp"
                    android:layout_height="30dp"
                    android:background="@drawable/border_grey_curve"
                    android:drawableRight="@drawable/dropdown"
                    android:paddingRight="10dp"
                    android:singleLine="true"
                    android:text="Kamis"
                    android:textAllCaps="false"
                    android:textColor="@color/colorBlack"
                    android:textSize="14sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

我的输出:

enter image description here

预期产量:enter image description here

android android-layout android-studio android-recyclerview
1个回答
0
投票

更改表row.xml:代码如下。

我只是添加android:layout_weight属性并将此权重除以子布局并删除一些边距填充属性。

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center_vertical"
    android:baselineAligned="false"
    android:orientation="horizontal"
    android:layout_weight="1">

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:weightSum=".3">


        <com.hutchison.h3i.newangie.customviews.CircleImageView
            android:id="@+id/recycle_profile"
            android:layout_width="@dimen/growth_sell_in_out_icon_size"
            android:layout_height="@dimen/growth_sell_in_out_icon_size"
            android:layout_gravity="center"
            android:src="@drawable/ic_default_profile" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="8dp"
            android:orientation="vertical">

            <TextView
                android:id="@+id/recycle_txt_acc_num"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:maxLines="1"
                android:singleLine="true"
                android:text="14234234"
                android:textColor="@color/colorBlack"
                android:textSize="12sp" />

            <TextView
                android:id="@+id/recycle_txt_acc_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:maxLines="1"
                android:singleLine="true"
                android:text="@string/route_plan_default_name"
                android:textColor="?attr/colorUserGroup"
                android:textSize="12sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight=".3">

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/from_day"
                android:layout_width="86dp"
                android:layout_height="30dp"
                android:layout_marginLeft="10dp"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/border_grey_curve"
                android:gravity="center"
                android:text="Selasa"
                android:textAllCaps="false"
                android:textColor="@color/colorBlack" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:weightSum=".1"
            android:layout_gravity="center">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/right_arrow"
                android:gravity="center"
                android:textStyle="bold" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:weightSum=".3">

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/to_day"
                android:layout_width="90dp"
                android:layout_height="30dp"
                android:background="@drawable/border_grey_curve"
                android:drawableRight="@drawable/dropdown"
                android:paddingRight="10dp"
                android:singleLine="true"
                android:text="Kamis"
                android:textAllCaps="false"
                android:textColor="@color/colorBlack"
                android:textSize="14sp" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

</LinearLayout>

它不是一个完整的实现,它只是一个想法,你如何能够实现你的要求,不要使用硬编码的值来查看高度,宽度和边距,填补它的坏习惯,而不是做出响应式视图意味着你的UI没有完美显示在所有Android设备上。

© www.soinside.com 2019 - 2024. All rights reserved.