我有像这样的视图的片段
在这个网格布局中,我的项目必须像这样排列
你可以看到物品有不同的高度。甚至每行之间的空间也不同。我试图通过给出行间距来实现这一点。但我所有的逻辑都出错了
但我的想法并没有帮助我。任何人都可以建议我如何实现这个
编辑:接受答案后
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.35">
</LinearLayout>
<GridLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:rowCount="20"
android:columnCount="1">
<LinearLayout
android:layout_row="0"
android:layout_gravity="fill">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Name"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
<Space
android:layout_width="45dp"
android:layout_height="match_parent"/>
</LinearLayout>
<Space
android:layout_row="1"
android:layout_gravity="fill"
android:layout_rowSpan="1"/>
<LinearLayout
android:layout_row="3"
android:layout_gravity="fill"
android:layout_rowSpan="4">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Address"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:lines="4"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"
/>
<Space
android:layout_width="45dp"
android:layout_height="match_parent"/>
</LinearLayout>
<Space
android:layout_row="7"
android:layout_gravity="fill"/>
<LinearLayout
android:layout_row="8"
android:layout_gravity="fill">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Email"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
<ImageView android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="30dp"
android:src="@android:drawable/arrow_up_float"/>
</LinearLayout>
<Space
android:layout_row="9"
android:layout_gravity="fill"/>
<LinearLayout
android:layout_row="10"
android:layout_gravity="fill"
android:layout_rowSpan="6">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="About Me"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:lines="5"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
<Space
android:layout_width="45dp"
android:layout_height="match_parent"/>
</LinearLayout>
<Space
android:layout_row="16"
android:layout_gravity="fill"
android:layout_rowSpan="3"/>
<LinearLayout
android:layout_row="19"
android:layout_gravity="fill">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Nick Name"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
<ImageView android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingLeft="30dp"
android:src="@android:drawable/arrow_up_float"/>
</LinearLayout>
</GridLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.30">
</LinearLayout>
答案 0 :(得分:1)
// Try this way,hope this will help solve your problem...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.35">
</LinearLayout>
<GridLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:rowCount="20"
android:columnCount="1">
<LinearLayout
android:layout_row="0"
android:layout_gravity="fill">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Name"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
</LinearLayout>
<Space
android:layout_row="1"
android:layout_gravity="fill"
android:layout_rowSpan="1"/>
<LinearLayout
android:layout_row="3"
android:layout_gravity="fill"
android:layout_rowSpan="4">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Address"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:lines="4"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
</LinearLayout>
<Space
android:layout_row="7"
android:layout_gravity="fill"/>
<LinearLayout
android:layout_row="8"
android:layout_gravity="fill">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Email"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
</LinearLayout>
<Space
android:layout_row="9"
android:layout_gravity="fill"/>
<LinearLayout
android:layout_row="10"
android:layout_gravity="fill"
android:layout_rowSpan="6">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="About Me"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:lines="5"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
</LinearLayout>
<Space
android:layout_row="16"
android:layout_gravity="fill"
android:layout_rowSpan="3"/>
<LinearLayout
android:layout_row="19"
android:layout_gravity="fill">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="Nick Name"
android:gravity="left"
android:layout_weight="1"/>
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:text="EditText"
android:gravity="center"
android:layout_weight="1"/>
</LinearLayout>
</GridLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.30">
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
//您需要使用wieghtsum
<?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="match_parent"
android:layout_margin="20dp"
android:orientation="horizontal"
android:weightSum="125" >
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="35" />
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="65" />
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="30" />
</LinearLayout>