我是Android开发的新手(实际上我今天已经下载了ADK),并且我想创建一个包含两列的简单设置页面。第一栏中应该是文本,第二栏中应该是button / slider / etc。
我的问题是,当我使用LinearLayout时,只有“全宽度文本”可见。列显示在屏幕右侧的文本“外部”。
这是屏幕的外观。
/-----------------\
| FULL WIDTH TEXT |
| |
| Column1 Column2 |
| Column1 Column2 |
\-----------------/
我的XML文件包含以下内容:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:weightSum="2"
android:orientation="horizontal"
>
<TextView
android:id="@+id/textview_settings_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_hint" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:visibility="visible" >
<CheckBox
android:id="@+id/checkbox_motion_sensor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/checkbox_motion_sensor" />
<CheckBox
android:id="@+id/checkbox_light_sensor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/checkbox_light_sensor" />
<CheckBox
android:id="@+id/checkbox_shake_sensor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/checkbox_shake_sensor" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:visibility="visible" >
<SeekBar
android:id="@+id/seekbar_motion_sensor_sensitivity"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
如何设置要在TextView底部绘制的内部布局?感谢您的帮助。
最佳答案
您的项目被设置在屏幕的右侧,因为您的根线性布局具有水平方向的属性,因此,将显示第一个元素,而将下一个元素推到屏幕的右边。为了解决该特定问题,只需将属性更改为vertical(垂直),您会发现内部布局将所有元素堆叠在一起,为了获得“两个”列效果,您需要创建另一个水平布局在第一个文本视图之后,以这种方式告诉充气机,第一个文本将设置在水平列的顶部。就像建议一样,您可以尝试使用TableLayout或RelativeLayout轻松完成操作,您应该看看它们...
问候!