Является ли мой предложенный макет разумным или, по крайней мере, "выполнимым"? - PullRequest
0 голосов
/ 13 марта 2012

Мне нужно иметь «фиксированную строку» с областью прокрутки под ней, заполненной 1..N рядами динамически создаваемых виджетов / представлений.Вот то, что я надеюсь, будет работать (псевдо-xml):

<LinearLayout llv (vertical)>

    <TableLayout tlFixedRow > <-- child of llv, sibling of sv
        <TableRow 
            <TextView "Blee"/>
            <TextView "Bla"/>
            <TextView "Bloo"/>
            <TextView "Bligh"/>
        <TableRow /> 
    </TableLayout>

    <ScrollView sv > <-- child of llv, sibling of tlFixedRow
        <TableLayout tlDynamicRowsParent >
            <TableRow /> <-- 0..N TableRows, added dynamically
        </ TableLayout >

    </ ScrollView sv>

</LinearLayout llv>

Итак, файл макета:

<LinearLayout llv (vertical)>

    <TableLayout tlFixedRow > <-- child of llv
        <TableRow 
            <Checkbox/>
            <Checkbox/>
            <Checkbox/>
            <TextView "Bla"/>
        <TableRow /> 
    </TableLayout>

    <ScrollView sv > <-- child of llv, sibling of tlFixedRow
        <TableLayout tlDynamicRowsParent >

        </ TableLayout >

    </ ScrollView sv>    

</LinearLayout llv>

... и TableRows (после первого исправленоодин) добавляются динамически, представленные этим псевдокодом:

TableLayout tlDynamic = (TableLayout)findViewById(R.id.tlDynamicRowsParent);
...
for i = 0 until theCowsComeHome() do {
Checkbox ckbx1 = new Checkbox();
Checkbox ckbx1 = new Checkbox();
Checkbox ckbx1 = new Checkbox();
TextView txtView = new txtView();
// ... (set some of the Checkbox and textView properties)

TableRow tr = new TableRow();
tlDynamicRowsParent.addView(tr);
tr.addView(ckbx1);
tr.addView(ckbx2);
tr.addView(ckbx3);
tr.addView(txtView);
}

Таким образом и истинно, мои предположения таковы:

LinearLayout может иметь 0..N детей;ScrollView может иметь только одного ребенка;TableLayout может иметь 0..N TableRows.

Верны ли мои предположения или я сделал отстойник из ионов?

1 Ответ

1 голос
/ 13 марта 2012

Да, все, что вы предполагали, правильно.Вы практически все это закодировали / XML сделали, чтобы вы могли просто попробовать :) Хотя вы добавляете 3 флажка и текстовое представление к вашей динамической таблице, когда у вас есть те же точные элементы управления, уже размеченные в XML в фиксированной таблицестрока.Я не уверен, намеренно это или нет.

...