2012-09-10 106 views
2

的权利我有一个多行的TextView和它旁边的我要显示一个复选框。问题是,如果文本横跨多于一行,复选框不会显示。复选框在一个TextView

到目前为止,我有(无IDS):

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:focusable="true" 
    android:gravity="left" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:clickable="true" 
     android:focusable="true" 
     android:gravity="left" 
     android:orientation="horizontal" > 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingLeft="3dp" 
      android:paddingTop="5dp" 
      android:singleLine="false" 
      android:text="Lorem ipsum dolor sit amet, consectetur adipiscing" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

     <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:focusable="false" 
      android:text="" 
      android:clickable="false" /> 

    </LinearLayout> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:paddingBottom="3dp" 
     android:paddingLeft="3dp" 
     android:singleLine="false" 
     android:text="Lorem ipsum dolor sit amet, consectetur adipiscing" 
     android:textAppearance="?android:attr/textAppearanceSmall" /> 
</LinearLayout> 

这是布局如何渲染(注意缺少的复选框):

Missing the checkbox

如果我缩短文本,它正确地呈现:

Checkbox is there

是否可以在多行TextView的右侧添加CheckBox?

编辑:对不起大家,我很快解决了这个问题问这个问题后(通过添加layout_weight = 1),但张贴在错误的线程。我已经接受了这个答案。

+0

你可以试试[CheckedTextView(HTTP://开发商。 android.com/reference/android/widget/CheckedTextView.html)这里的示例http://www.rochdev.com/2011/08/checkedtextview.html –

回答

4

添加此android:layout_weight="1"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:focusable="true" 
    android:gravity="left" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:clickable="true" 
     android:focusable="true" 
     android:gravity="left" 
     android:orientation="horizontal" > 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingLeft="3dp" 
      android:paddingTop="5dp" 
      android:singleLine="false" 
      android:text="Lorem ipsum dolor sit amet, consectetur adipiscing" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:layout_weight="1" /> 

     <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:focusable="false" 
      android:text="" 
      android:clickable="false" 
      /> 

    </LinearLayout> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:paddingBottom="3dp" 
     android:paddingLeft="3dp" 
     android:singleLine="false" 
     android:text="Lorem ipsum dolor sit amet, consectetur adipiscing" 
     android:textAppearance="?android:attr/textAppearanceSmall" /> 
</LinearLayout> 
1

尝试给CheckBox一个Weight值比TextView(设置其width0dip,并给它更高的Weight

1

您可以通过使用权重做到这一点..尝试下面的代码

请尽量更大根据您的要求变化的权重

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:focusable="true" 
    android:gravity="left" 
    android:orientation="horizontal" > 

    <TextView 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:paddingLeft="3dp" 
     android:paddingTop="5dp" 
     android:singleLine="false" 
     android:text="Lorem ipsum dolor sit amet, consectetur adipiscing" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <CheckBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="2" 
     android:focusable="false" 
     android:text="" 
     android:clickable="false" /> 

</LinearLayout> 

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="3dp" 
    android:paddingLeft="3dp" 
    android:singleLine="false" 
    android:text="Lorem ipsum dolor sit amet, consectetur adipiscing" 
    android:textAppearance="?android:attr/textAppearanceSmall" /> 

1

尝试使用下面的LinearLayout中

<TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="textfield 1-1"></TextView> 
<CheckBox android:id="@+id/CheckBox01" android:layout_width="wrap_content" android:layout_height="wrap_content"></CheckBox> 

复制从http://huuah.com/using-tablelayout-on-android/

相关问题