2013-10-24 6 views
2

У меня есть странная проблема с ScrollView в моей компоновке, которая заключается в том, что она отсекает нижнюю часть TableLayout внутри. Вот как это выглядит: when scrolling to the top.ScrollView отрезая часть макета

Зеленый фон с закругленными углами должен быть одинаковым для дна, то есть на самом деле это просто простой прямоугольник, который можно вырезать с закругленными углами. Но когда я пытаюсь прокрутить вниз, here's what I see:

Как видите, нижние углы невидимы, я не могу прокручивать их дальше. Теперь я вижу только все строки раздела «Комментарии», потому что я вручную добавил android:paddingBottom в TableLayout (см. Ниже), в противном случае больше будет отключено. И я просто не могу понять, в чем проблема. Может кто-нибудь сказать мне, что мне не хватает? Вот XML-макет. Он заполняется запросом базы данных во время выполнения.

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

    <TableLayout 
     android:id="@+id/table" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="30dp" 
     android:background="@drawable/some_shape" 
     android:paddingBottom="40dp" > 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/code_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Code:" /> 

      <TextView 
       android:id="@+id/code_field" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="test" /> 
     </TableRow> 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/name_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Name:" /> 

      <TextView 
       android:id="@+id/name_field" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="test" /> 
     </TableRow> 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/pra_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Type:" /> 

      <TextView 
       android:id="@+id/pra_field" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="test" /> 
     </TableRow> 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/day_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Day:" /> 

      <TextView 
       android:id="@+id/day_field" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="test" /> 
     </TableRow> 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/room_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Room:" /> 

      <TextView 
       android:id="@+id/room_field" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="test" /> 
     </TableRow> 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/time_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Time:" /> 

      <LinearLayout android:orientation="horizontal" > 

       <TextView 
        android:id="@+id/time_field1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="test1" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="10dp" 
        android:layout_marginRight="10dp" 
        android:text="@string/to" /> 

       <TextView 
        android:id="@+id/time_field2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="test2" /> 
      </LinearLayout> 
     </TableRow> 

     <TableRow android:layout_margin="20dp" > 

      <TextView 
       android:id="@+id/comment_label" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="20dp" 
       android:text="Comments:" /> 

      <TextView 
       android:id="@+id/comment_field" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="test" /> 
     </TableRow> 
    </TableLayout> 

</ScrollView> 
+0

добавить fillviewport к вашему Scrollview – Mikel

+0

@Mikel: Done. Нет эффекта. – oarfish

+0

Да, извините, моя ошибка, что работает на oposite, когда вы не занимаетесь всем экраном и хотите, чтобы свиток заполнил все. – Mikel

ответ

2

Я знаю, что это слишком поздно, но ответ удалить android:layout_margin="30dp" из TableLayout

+0

Да, все, что мне нужно было сделать, это удалить границу с дочернего объекта, СПАСИБО! – Tsangares

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