2012-05-30 43 views
1

我想创建一个TextView的垂直列表 - > EditTextView。我需要这个来创建一个小输入表单。我曾尝试使用2个垂直线性布局,它们是水平线性布局的子项。然后我将TextViews添加到第一个容器,EditableTextViews添加到第二个容器。问题是文本视图的高度与EditTextView的高度无关,因此它们不能垂直对齐。什么是实现这一目标的最佳方法?使用表格?我很好奇人们如何有效地实现这一目标。创建TextView-> EditTextVIew的垂直列表的最佳方法?

+0

TableLayout或RelativeLayout。嵌套LinearLayouts不是最有效的方法 - http://developer.android.com/training/improving-layouts/optimizing-layout.html –

回答

1

如果我理解你,你可以使用包含一个TextView向左和编辑文本列表视图右

row.xml

<?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:orientation="horizontal" > 
    <TextView 
     android:id="@+id/ListItem1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:gravity="left" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_weight="1" /> 
    <EditText 
     android:id="@+id/edittext1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:gravity="right" 
     android:selectAllOnFocus="true" 
     android:textSize="15dp" 
     android:layout_weight="1" /> 
</LinearLayout> 
0

利用重力对准中心,如果你想不想..........

+0

您可以使用相对布局,但如果只想使用Table布局然后查看http://abcquick.blogspot.in/2010/03/tutorial-on-android-layout.html –

-1

例如可以使用垂直线性布局亲和添加到它的许多水平线性布局其中每个都包含TextView的和EditableTextView

1

您可以使用一个ListView与行布局是这样的:

<?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:orientation="horizontal" > 
    <TextView 
     android:id="@+id/ListItem1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:gravity="left" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_weight="1" /> 
    <EditText 
     android:id="@+id/edittext1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:gravity="right" 
     android:selectAllOnFocus="true" 
     android:textSize="15dp" 
     android:layout_weight="1" /> 
</LinearLayout> 

,将创建在左侧和右侧的editext一个TextView,每个会占用的可用空间的一半。 (调整重量数字以给出比另一个更多的空间)。