Java Android:两列(50%到50%)

Java Android:两列(50%到50%),java,android,xml,adk,Java,Android,Xml,Adk,我是Android开发的新手(事实上我今天已经下载了ADK),我想创建一个包含两列的简单设置页面。第一列应该是文本,第二列应该是按钮/滑块/等等 我的问题是,当我使用LinearLayout时,只有全宽文本可见。列显示在文本右侧屏幕的“外部” 这就是屏幕的外观 /-----------------\ | FULL WIDTH TEXT | | | | Column1 Column2 | | Column1 Column2 | \-----------------/

我是Android开发的新手(事实上我今天已经下载了ADK),我想创建一个包含两列的简单设置页面。第一列应该是文本,第二列应该是按钮/滑块/等等

我的问题是,当我使用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底部绘制的内部布局?谢谢您的帮助。

您的项目被设置在屏幕的右侧,因为根线性布局具有水平方向的属性,因此,第一个元素被显示,下一个元素被推到屏幕的右侧。为了解决这个问题,只需将属性更改为“垂直”,您就会注意到内部布局将所有元素一个接一个地堆放在一起,为了获得“两个”立柱效果,您需要在第一个文本视图之后创建另一个水平布局,这样您就可以告诉充气机:,第一个文本将设置在水平列的顶部。正如建议一样,您尝试使用TableLayout或RelativeLayout都可以简单地完成,您应该查看它们


问候

如果我将根
android:orientation
更改为
vertical
,我甚至看不到屏幕外内部布局的“蓝色边框”(它们可以通过
水平
看到)。呵呵,你把一个简单的设计复杂化了太多,android的金科玉律之一就是使用适合你需要的适当布局,由于过度创建视图可能会降低性能,请查看tablelayout,在将根方向更改为水平方向并在文本后添加额外的线性布局后,它将以极其简单的方式完全实现您想要的功能,效果非常好!谢谢。另一方面,你建议使用TableLayout。我已经读到,TableLayout是为需要处理不同大小的表格单元格的情况而设计的。这不是我的情况。这就是为什么我没有使用这个解决方案。你能给我一个使用RelativeLayout的例子吗?我在LinearLayout之前尝试过它,但我发现的每个示例都使用LinearLayout。