如何自动换行复选框文字?

时间:2012-02-20 12:06:57

标签: android user-interface

我有一个布局,我将i行动态地放在scrollview内的tablelayout中。除了我不能将checkbox文本带到 wordwrap 之外,所有内容都能正常运行(请参阅下面的xml)。该文本也在运行时设置。我已经搜索了互联网,并且已经做了很多尝试设置不同的属性,到目前为止没有运气。

这项任务是否可以实现?

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:layout_marginBottom="15dip">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <CheckBox 
            android:id="@+id/bes_checkbox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="" />

        <EditText
            android:id="@+id/bes_kommentar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/bes_checkbox" />

    </RelativeLayout>

</TableRow>

3 个答案:

答案 0 :(得分:2)

CheckBox extends TextView,所以我假设您可以将其文本包装起来,就像他们解决了这篇文章中的问题一样:

如果你无法让它像这样工作,你也可以尝试使用match_parent中的checkbox

      <CheckBox 
        android:id="@+id/bes_checkbox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="" />
希望它有所帮助。

答案 1 :(得分:-1)

在线性布局中使用表格行而不是表格布局..

      android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="15dip" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <CheckBox
                android:id="@+id/bes_checkbox"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
             />

            <EditText
                android:id="@+id/bes_kommentar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/bes_checkbox" />
        </RelativeLayout>
    </TableRow>

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="15dip" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <CheckBox
                android:id="@+id/bes_checkbox"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                />

            <EditText
                android:id="@+id/bes_kommentar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/bes_checkbox" />
        </RelativeLayout>

    </TableRow>
</LinearLayout>

答案 2 :(得分:-1)

我过去使用复选框制作了动态布局并使用了这种方法:

// Create new view to add layout to
sv = new ScrollView(this);
// Create new layout to add check boxes to
ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
// Add layout to view
sv.addView(ll);    

// Create 6 check boxes
int itemSize = 6;
for(int j=0; j<itemSize; j++){
    CheckBox cb = new CheckBox(this);
    cb.setText("number " + j);
    ll.addView(cb);
}
// Finalize view
this.setContentView(sv);

这是你在找什么?