【发布时间】:2018-03-01 19:32:27
【问题描述】:
我是 android 和学习的新手。我正在构建类似 UI 的表单并使用线性布局。我试图将它们放在水平布局内的两个垂直线性布局中,但无法将标签文本元素与每个输入元素对齐。下面,我使用了三种线性布局。
xml 布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/linlaytop"
android:layout_marginLeft="@dimen/linlayleft"
android:layout_marginRight="@dimen/linlayleft"
android:layout_marginBottom="@dimen/linlaytop"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="@dimen/linlaytop">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/traffic"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"/>
<Spinner
android:id="@+id/trafficSpinnerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/linlayleft">
</Spinner>
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/linlaytop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/location"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
/>
<EditText
android:id="@+id/locationTxtView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:layout_marginLeft="@dimen/linlayleft"/>
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/linlaytop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/date"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"/>
<TextView
android:id="@+id/dateTxtView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/datetime"
android:layout_marginLeft="@dimen/linlayleft"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"/>
</LinearLayout>
</LinearLayout>
请指教。
【问题讨论】:
-
I want to align these three elements- 按什么顺序? -
相互垂直对齐。
-
在我看来,它们已经相互垂直对齐了。
-
我的意思是每个元素的开始应该匹配相同的垂直边距。
-
然后只为左边的所有元素分配一个静态宽度或使用宽度为0dp并添加
layout_weight
标签: android layout android-linearlayout