如何提供适当的权重以在 table android 中正确对齐视图
How to provide proper weight to align the view properly in table android
我正在使用一个标题,我需要放置七个具有相应值的标题。
但是第一列的图像和两个文本很难放入 table。
我给了权重,但很难与其他观点保持一致。每当我更改一个视图时,例如:第 5 列、第 6 列都会重新排列。
我使用了一个列表,然后是行。
在主要 xml 中,我使用了标题。
<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:background="@color/colorWhite"
android:isScrollContainer="false"
android:paddingBottom="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--Profile icon-->
<include layout="@layout/common_profile_layout" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="26dp"
android:background="@color/colorGrey">
<TextView
android:id="@+id/count_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="24dp"
android:gravity="center"
android:text="Laporan Aktivitas"
android:textColor="?attr/colorUserGroup" />
<Button
android:id="@+id/dafatar_filter"
android:layout_width="72dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/curve_corner_change_day"
android:clickable="true"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="Pilih Tanggal"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="10sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:id="@+id/dateTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="24dp"
android:text="06/13/2017"
android:textColor="@color/colorBlack"
android:textSize="@dimen/text_size_small" />
<ImageView
android:id="@+id/route_plan_about_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="right"
android:layout_marginBottom="2dp"
android:layout_marginRight="22dp"
android:layout_marginTop="2dp"
android:src="?attr/info_drawable" />
</RelativeLayout>
// here is where the title starts.
<LinearLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="33dp"
android:layout_below="@+id/totalId"
android:layout_marginTop="14dp"
android:background="@drawable/nbd_title"
android:gravity="center_vertical"
android:weightSum="6">
<TextView
android:id="@+id/siteId"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_weight="1.2"
android:text="Total"
android:textSize="12sp" />
<TextView
android:id="@+id/site"
android:layout_width="72dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/twoG"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.65"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/threeG"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/fourG"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/retailerId"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/idealId"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="6">
<View
android:layout_width="72dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray" />
<View
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<View
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.65"
android:background="@color/colorLightGray" />
<View
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65" />
<View
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65"
android:background="@color/colorLightGray" />
<View
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<View
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/colorLightGray" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycleViewIdNbd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1"
android:background="@android:color/transparent"
android:paddingTop="18dp" />
</FrameLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
然后在 row.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="6">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.9">
<com.hutchison.h3i.newangie.customviews.CircleImageView
android:id="@+id/recycle_profile"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_default_profile" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginLeft="6dp"
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="false"
android:text="@string/route_plan_default_number"
android:textColor="@color/colorBlack"
android:textSize="@dimen/text_size_tiny_small_nine" />
<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="false"
android:text="SE A"
android:textColor="?attr/colorUserGroup"
android:textSize="@dimen/text_size_very_small" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtretailerId"
android:layout_width="23dp"
android:layout_height="wrap_content"
android:layout_weight="1.7"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_1"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_2"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_3"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_4"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
但我的输出看起来是,
但实际输出是,
您可以清楚地看到在我的输出中,对齐的位置变得不匹配并且没有正确拟合。我试图对齐,但无法正确实现。
确保相应列(标题和行)提到的权重相同。
此外,child 元素的所有权重加起来必须等于 parent 元素的 weightSum。
试试这个..
这会起作用...
Main.xml
<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:background="@color/colorWhite"
android:isScrollContainer="false"
android:paddingBottom="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--Profile icon-->
<!-- <include layout="@layout/common_profile_layout" />-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="26dp"
android:background="@color/colorGrey">
<TextView
android:id="@+id/count_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="24dp"
android:gravity="center"
android:text="Laporan Aktivitas"
android:textColor="?attr/scrimAnimationDuration" />
<Button
android:id="@+id/dafatar_filter"
android:layout_width="72dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/setting"
android:clickable="true"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="Pilih Tanggal"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="10sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:id="@+id/dateTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="24dp"
android:text="06/13/2017"
android:textColor="@color/colorBlack"
android:textSize="@dimen/font_16" />
<ImageView
android:id="@+id/route_plan_about_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="right"
android:layout_marginBottom="2dp"
android:layout_marginRight="22dp"
android:layout_marginTop="2dp"
android:src="?attr/constraintSet" />
</RelativeLayout>
// here is where the title starts.
<LinearLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="33dp"
android:layout_below="@+id/totalId"
android:layout_marginTop="14dp"
android:background="@drawable/crop_image_menu_rotate_left"
android:gravity="center_vertical"
android:weightSum="10">
<TextView
android:id="@+id/siteId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_weight="2.5"
android:gravity="center"
android:text="Total"
android:textSize="12sp" />
<TextView
android:id="@+id/site"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/twoG"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/threeG"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/fourG"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/retailerId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/idealId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycleViewIdNbd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1"
android:background="@android:color/transparent"
android:paddingTop="18dp" />
</FrameLayout>
</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:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="5dp"
android:weightSum="10">
<!--colorLightGray-->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2.5"
android:background="@color/colorLightGray">
<com.hutchison.h3i.newangie.customviews.CircleImageView
android:id="@+id/recycle_profile"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_default_profile" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingLeft="3dp">
<TextView
android:id="@+id/recycle_txt_acc_num"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:maxLines="1"
android:singleLine="false"
android:text="appname"
android:textColor="@color/colorBlack"
android:textSize="14sp" />
<TextView
android:id="@+id/recycle_txt_acc_name"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="false"
android:text="SE A"
android:textColor="@color/colorAccent"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtretailerId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
具有 weightsum 属性.
的线性布局
例如,如果您想将线性父项中的每个子项设置为相同大小,只需为所有子项设置 android:layout_weight ="1" 并设置 android:layout:width = "0dp"。不需要使用weightsum 属性.
重要 设置 android:layout:width="0dp" 如果您希望子视图权重 属性 有效。
您可以设置一个视图来填充布局中剩余的 space。看看示例 https://developer.android.com/guide/topics/ui/layout/linear.html。
作为第二张图片所需的基础,请尝试以下代码:
Main.xml
<LinearLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="33dp"
android:layout_below="@+id/totalId"
android:layout_marginTop="14dp"
android:background="@drawable/nbd_title"
android:gravity="center_vertical"
android:weightSum="7">
<TextView
android:id="@+id/siteId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_weight="2.2"
android:text="Total"
android:textSize="12sp" />
<TextView
android:id="@+id/site"
android:layout_width="72dp"
android:layout_height="wrap_content"
android:layout_weight="1.3"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/twoG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/threeG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/fourG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/retailerId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/idealId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
Row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="7">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2.2">
<com.hutchison.h3i.newangie.customviews.CircleImageView
android:id="@+id/recycle_profile"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_default_profile" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginLeft="6dp"
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="false"
android:text="@string/route_plan_default_number"
android:textColor="@color/colorBlack"
android:textSize="@dimen/text_size_tiny_small_nine" />
<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="false"
android:text="SE A"
android:textColor="?attr/colorUserGroup"
android:textSize="@dimen/text_size_very_small" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtretailerId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.3"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
因此您的总子 layout_weight 属性 与父权重和相匹配。然后对父行和子行使用相同的 属性 以获得实际结果。
希望对你有帮助..!
我正在使用一个标题,我需要放置七个具有相应值的标题。
但是第一列的图像和两个文本很难放入 table。
我给了权重,但很难与其他观点保持一致。每当我更改一个视图时,例如:第 5 列、第 6 列都会重新排列。
我使用了一个列表,然后是行。
在主要 xml 中,我使用了标题。
<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:background="@color/colorWhite"
android:isScrollContainer="false"
android:paddingBottom="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--Profile icon-->
<include layout="@layout/common_profile_layout" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="26dp"
android:background="@color/colorGrey">
<TextView
android:id="@+id/count_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="24dp"
android:gravity="center"
android:text="Laporan Aktivitas"
android:textColor="?attr/colorUserGroup" />
<Button
android:id="@+id/dafatar_filter"
android:layout_width="72dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/curve_corner_change_day"
android:clickable="true"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="Pilih Tanggal"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="10sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:id="@+id/dateTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="24dp"
android:text="06/13/2017"
android:textColor="@color/colorBlack"
android:textSize="@dimen/text_size_small" />
<ImageView
android:id="@+id/route_plan_about_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="right"
android:layout_marginBottom="2dp"
android:layout_marginRight="22dp"
android:layout_marginTop="2dp"
android:src="?attr/info_drawable" />
</RelativeLayout>
// here is where the title starts.
<LinearLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="33dp"
android:layout_below="@+id/totalId"
android:layout_marginTop="14dp"
android:background="@drawable/nbd_title"
android:gravity="center_vertical"
android:weightSum="6">
<TextView
android:id="@+id/siteId"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_weight="1.2"
android:text="Total"
android:textSize="12sp" />
<TextView
android:id="@+id/site"
android:layout_width="72dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/twoG"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.65"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/threeG"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/fourG"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/retailerId"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/idealId"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="6">
<View
android:layout_width="72dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray" />
<View
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<View
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.65"
android:background="@color/colorLightGray" />
<View
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65" />
<View
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight=".65"
android:background="@color/colorLightGray" />
<View
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<View
android:layout_width="35dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/colorLightGray" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycleViewIdNbd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1"
android:background="@android:color/transparent"
android:paddingTop="18dp" />
</FrameLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
然后在 row.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="6">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1.9">
<com.hutchison.h3i.newangie.customviews.CircleImageView
android:id="@+id/recycle_profile"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_default_profile" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginLeft="6dp"
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="false"
android:text="@string/route_plan_default_number"
android:textColor="@color/colorBlack"
android:textSize="@dimen/text_size_tiny_small_nine" />
<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="false"
android:text="SE A"
android:textColor="?attr/colorUserGroup"
android:textSize="@dimen/text_size_very_small" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtretailerId"
android:layout_width="23dp"
android:layout_height="wrap_content"
android:layout_weight="1.7"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_1"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_2"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_3"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_4"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
但我的输出看起来是,
但实际输出是,
您可以清楚地看到在我的输出中,对齐的位置变得不匹配并且没有正确拟合。我试图对齐,但无法正确实现。
确保相应列(标题和行)提到的权重相同。 此外,child 元素的所有权重加起来必须等于 parent 元素的 weightSum。
试试这个.. 这会起作用...
Main.xml
<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:background="@color/colorWhite"
android:isScrollContainer="false"
android:paddingBottom="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!--Profile icon-->
<!-- <include layout="@layout/common_profile_layout" />-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="26dp"
android:background="@color/colorGrey">
<TextView
android:id="@+id/count_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="24dp"
android:gravity="center"
android:text="Laporan Aktivitas"
android:textColor="?attr/scrimAnimationDuration" />
<Button
android:id="@+id/dafatar_filter"
android:layout_width="72dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="@drawable/setting"
android:clickable="true"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="Pilih Tanggal"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="10sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:id="@+id/dateTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="24dp"
android:text="06/13/2017"
android:textColor="@color/colorBlack"
android:textSize="@dimen/font_16" />
<ImageView
android:id="@+id/route_plan_about_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="right"
android:layout_marginBottom="2dp"
android:layout_marginRight="22dp"
android:layout_marginTop="2dp"
android:src="?attr/constraintSet" />
</RelativeLayout>
// here is where the title starts.
<LinearLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="33dp"
android:layout_below="@+id/totalId"
android:layout_marginTop="14dp"
android:background="@drawable/crop_image_menu_rotate_left"
android:gravity="center_vertical"
android:weightSum="10">
<TextView
android:id="@+id/siteId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_weight="2.5"
android:gravity="center"
android:text="Total"
android:textSize="12sp" />
<TextView
android:id="@+id/site"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/twoG"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/threeG"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/fourG"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/retailerId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/idealId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycleViewIdNbd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/rel1"
android:background="@android:color/transparent"
android:paddingTop="18dp" />
</FrameLayout>
</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:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="5dp"
android:weightSum="10">
<!--colorLightGray-->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2.5"
android:background="@color/colorLightGray">
<com.hutchison.h3i.newangie.customviews.CircleImageView
android:id="@+id/recycle_profile"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_default_profile" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingLeft="3dp">
<TextView
android:id="@+id/recycle_txt_acc_num"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:maxLines="1"
android:singleLine="false"
android:text="appname"
android:textColor="@color/colorBlack"
android:textSize="14sp" />
<TextView
android:id="@+id/recycle_txt_acc_name"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:singleLine="false"
android:text="SE A"
android:textColor="@color/colorAccent"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtretailerId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:background="@color/colorLightGray"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
具有 weightsum 属性.
的线性布局
例如,如果您想将线性父项中的每个子项设置为相同大小,只需为所有子项设置 android:layout_weight ="1" 并设置 android:layout:width = "0dp"。不需要使用weightsum 属性.
重要 设置 android:layout:width="0dp" 如果您希望子视图权重 属性 有效。
您可以设置一个视图来填充布局中剩余的 space。看看示例 https://developer.android.com/guide/topics/ui/layout/linear.html。
作为第二张图片所需的基础,请尝试以下代码:
Main.xml
<LinearLayout
android:id="@+id/rel1"
android:layout_width="match_parent"
android:layout_height="33dp"
android:layout_below="@+id/totalId"
android:layout_marginTop="14dp"
android:background="@drawable/nbd_title"
android:gravity="center_vertical"
android:weightSum="7">
<TextView
android:id="@+id/siteId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_weight="2.2"
android:text="Total"
android:textSize="12sp" />
<TextView
android:id="@+id/site"
android:layout_width="72dp"
android:layout_height="wrap_content"
android:layout_weight="1.3"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/twoG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/threeG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/fourG"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/retailerId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/idealId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
Row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="7">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2.2">
<com.hutchison.h3i.newangie.customviews.CircleImageView
android:id="@+id/recycle_profile"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:src="@drawable/ic_default_profile" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginLeft="6dp"
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="false"
android:text="@string/route_plan_default_number"
android:textColor="@color/colorBlack"
android:textSize="@dimen/text_size_tiny_small_nine" />
<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="false"
android:text="SE A"
android:textColor="?attr/colorUserGroup"
android:textSize="@dimen/text_size_very_small" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/txtretailerId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.3"
android:gravity="center"
android:text="XXXXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
<TextView
android:id="@+id/txtidealId_4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="center"
android:text="XXX"
android:textSize="12sp" />
</LinearLayout>
</RelativeLayout>
因此您的总子 layout_weight 属性 与父权重和相匹配。然后对父行和子行使用相同的 属性 以获得实际结果。
希望对你有帮助..!