Android在线性布局中定位

时间:2014-03-22 12:32:27

标签: android xml android-layout listview

我有一个列表视图,每个条目都填充了3个textviews和1个复选框。我希望文本视图在彼此之下(就像它们一样),但我希望复选框显示在右侧而不是下方,我似乎无法正常工作。

以下是listview中每个项目的xml代码,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:descendantFocusability="blocksDescendants">

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

  <TextView android:id="@+id/name"
  android:textSize="14sp" 
  android:textStyle="bold" 
  android:textColor="#000080" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"/>

</LinearLayout>
<TextView android:id="@+id/cityState" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>
<TextView android:id="@+id/phone" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"/>


       <CheckBox android:id="@+id/checkbox_bought"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/bought"/>

</LinearLayout>

您可以看到TextView名称在其自身的水平线性布局中,因为我试图将复选框放在那里并使其显示在右侧,但这根本不起作用。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

你可以让LinearLayout的方向为vertical,其中包含TextViews,以及此LinearLayout右侧的checkBox:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:descendantFocusability="blocksDescendants"
    android:orientation="horizontal"
    android:gravity="center" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test1"
        android:textColor="#000080"
        android:textSize="14sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/cityState"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test2" />

    <TextView
        android:id="@+id/phone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test3" />


</LinearLayout>

 <CheckBox
        android:id="@+id/checkbox_bought"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bought" />

答案 1 :(得分:0)

使用AbsoluteLayout。

     <AbsoluteLayout
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" >

     <Paste your all  3 textviews and 1 checkbox >

     </AbsoluteLayout>

如果使用绝对布局,则可以使用x y坐标轻松排列。