滚动视图不显示完整内容

时间:2013-06-19 20:10:58

标签: android scrollview android-linearlayout tablelayout

我有一个XML文件,其中包含一个带有一个子LinearLayout的ScrollView。试图给具有TableLayout和其他一些子视图的布局充气。但由于某种原因,tableTable布局中的最后一个按钮不完全可见。

更新: - 对于试用版我向上移动了按钮..但是最后一个textView也发生了同样的问题。因此我可以从ScrollView-LinearLayout或TableLayout获得问题。< / p>

MYScrollView.xml

          <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="15dp"
android:fillViewport="true"
android:scrollbars="none"
tools:context=".MainActivity" >

<LinearLayout
    android:id="@+id/lo1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/border"   
    android:animateLayoutChanges="true"
    android:orientation="vertical" >

  </LinearLayout>
</ScrollView>

MyTableLayout.xml

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

<com.example.tamarud.FontTextView
    android:id="@+id/textv"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:gravity="center"
    android:text="La campagne Rebelle"
    android:textColor="#611711" />

<com.example.tamarud.Header2
    android:id="@+id/TextView01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="(Pour la destitution de Mohamed Mursi Al Ayat)" />

<LinearLayout
    android:id="@+id/LinearLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="20dp" >

    <com.example.tamarud.Bodytext
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:text="• Parce que la sécurité n'a pas été retrouvée à Ce jour … On vous refuse" />

    <com.example.tamarud.Bodytext
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:text="• Parce que le démunis est toujours ignoré … On vous refuse" />

    <com.example.tamarud.Bodytext
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:text="• Parce que nous sommes encore en train de mendier des prêts de l'extérieur … On vous refuse" />
      <TableRow
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"             
        android:layout_marginTop="5dip"
        android:layout_marginBottom="5dip">

    <com.example.tamarud.Bodytext
            android:layout_width="0dip"
            android:layout_weight="1"
            android:layout_height="wrap_content"
        android:background="#611711"
        android:paddingBottom="10dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingTop="10dp"
        android:text="Quartier"
        android:textColor="#FFFFFF"/>

    <Spinner
        android:id="@+id/spinner01"
            android:layout_width="0dip"
            android:layout_weight="2"
            android:layout_height="wrap_content" />
</TableRow>

<TableRow
        android:id="@+id/LinearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"             
        android:layout_marginTop="5dip"
        android:layout_marginBottom="5dip">

    <com.example.tamarud.Bodytext
            android:layout_width="0dip"
            android:layout_weight="1"
            android:layout_height="wrap_content"
        android:background="#611711"
        android:paddingBottom="10dp"
        android:paddingLeft="15dp"
        android:paddingRight="15dp"
        android:paddingTop="10dp"
        android:text="E-mail"
        android:textColor="#FFFFFF" />

    <EditText
        android:id="@+id/EditText07"
            android:layout_width="0dip"
            android:layout_weight="2"
            android:layout_height="wrap_content"
        android:gravity="left"
        android:hint="Entrez E-mail"
        android:imeOptions="actionNext"
        android:textColor="#000000" />
  </TableRow>
</LinearLayout>
<Button
    android:id="@+id/submit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dp"
    android:layout_marginRight="50dp"
    android:layout_marginTop="5dp"
    android:background="#611711"
    android:paddingBottom="10dp"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:paddingTop="10dp"
    android:text="I Accept"
    android:textColor="#FFFFFF"
    android:textSize="25sp" />

   </TableLayout>

here is a picture

5 个答案:

答案 0 :(得分:3)

唯一的解决方案是将 ScrollView 包装在 RelativeLayout 中,并为它们提供宽度高度 FILL_PARENT

答案 1 :(得分:3)

这是一个老问题,但生病仍然回答它,因为我自己正在寻找答案,并找到了解决方案。您需要删除边距并用填充替换它们。

您的原始代码:

android:layout_marginTop="10dp"

应该是什么:

android:paddingTop="10dp"

答案 2 :(得分:1)

尝试删除您的填充和边距顶部。

答案 3 :(得分:1)

您也可以尝试在最后一个按钮上明确设置dp高度。

android:layout_height="48dp"

或者你觉得它应该是什么高度。我相信谷歌建议48dp用于按钮等可点击的内容。

你也可以尝试像下面那样进行设置,从表格布局中删除底部按钮,并将表格布局设置为在按钮上方对齐:

<RelativeLayout
  android:id="@+id/scrollContainer"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <TableLayout
    android:id="@+id/myTable"
    android:layout_above="@+id/bottomButton"
    android:layout_height="match_parent"
    android:layout_width="match_parent"/>

  <Button
    android:id="@+id/bottomButton"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"/>

</RelativeLayout>

答案 4 :(得分:-1)

我总是面对这个愚蠢的问题,而我正在做的是将layout_marginBottom添加到主视图或最后一个视图等于最后一个视图的高度,甚至等于需要显示的裁剪区域,如:

<ScrollView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   .
   .>

   <RelativeLayout
       android:id="@+id/main"
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

         .
         .
         <!--some views-->
         .
         .

         <!--last view-->
         <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_marginBottom="60dp">

         </LinearLayout>

   </RelativeLayout>

</ScrollView>