2012-04-05 2 views
3

Заранее благодарим за любую помощь. Я очень новичок в Android.Android TableLayout не прокручивает по вертикали

Вот моя проблема. Я использую TableLayout для отображения редактируемых полей. На дисплее отображается около двадцати строк.

Строки переполняют экран на более мелких устройствах. Мне нужен вид, чтобы позволить пользователю прокручивать вверх и вниз. Что мне не хватает?

Пробная упаковка TableLayout в ScrollView не работала.

+0

Собирает в ScrollView должен работать. Опубликуйте макет, который вы пробовали. – kabuko

+0

перейдите по ссылке, вы можете увидеть «Табличный свиток Android с фиксированным заголовком и столбцом»: Нажмите [здесь] (http://www.codeofaninja.com/2013/08/android-scroll-table-fixed-header-column .html «Android Table Scroll с фиксированным заголовком и столбцом»)! –

ответ

9

положить TableLayout внутри ScrollView

<?xml version="1.0" encoding="utf-8"?> 
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/scrollView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <TableLayout 
      android:id="@+id/tableLayout1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" > 

      <TableRow 
       android:id="@+id/tableRow1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 

      </TableRow> 



     </TableLayout> 

    </ScrollView> 
0

попробовать что-то вроде этого:

<?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="vertical" > 

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow5" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText5" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow6" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText6" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow7" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText7" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow8" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText8" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow9" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText9" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow10" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText10" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow11" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText11" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 

       <requestFocus /> 
      </EditText> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow12" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText12" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow13" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText13" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow14" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText14" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow15" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <EditText 
       android:id="@+id/editText15" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </TableRow> 

    </TableLayout> 


</ScrollView> 

но как об использовании listView вместо?

+0

Благодарим вас за ответ. Я бы не подумал об этом. Нормально ли в Android так много гнездящихся? (Макет таблицы, обернутый просмотром прокрутки, а затем завернутый линейной компоновкой)? В моем проекте нет оболочки Linear Layout. Кажется, он работает нормально. Должен ли я это сделать? – Odyssey

+0

Вы правы, нет необходимости использовать 'LinearLayout'. Я использовал его просто потому, что в «Eclipse» при создании нового проекта XML-файл содержит этот макет по умолчанию, и оттуда я начал пытаться создать необходимый макет. Как вы создали свой xml? Если вы обновите свой вопрос кодом, возможно, я могу вам помочь ... – Ant4res

Смежные вопросы