【问题标题】:ScrollView with RelativeLayout带有相对布局的滚动视图
【发布时间】:2015-06-10 00:46:36
【问题描述】:

我已经实现了一个LinearGraph 并添加了LinearLayout(在xml 中,即LinearLayoutid="linearLayout1")。

现在我想在这个图表之后添加表格,我需要使用ScrollView,因为表格将超过一行。

这是我尝试过但没有成功的 xml 之一...

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:orientation="vertical" >


        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

                    <LinearLayout
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:paddingLeft="@dimen/activity_horizontal_margin"
                        android:paddingRight="@dimen/activity_horizontal_margin"
                        android:paddingTop="@dimen/activity_vertical_margin"
                        android:paddingBottom="@dimen/activity_vertical_margin"
                        android:id="@+id/linearLayout1"
                        android:orientation="vertical"
                        android:layout_above="@+id/tableLayout">
                    </LinearLayout>


                    <TableLayout
                        android:id="@+id/tableLayout"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/my_drawable"
                        android:padding="5dp"
                        android:layout_alignParentBottom="true"
                        >

                        <TableRow
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" >

                            <TextView
                                android:id="@+id/home"
                                android:layout_width="0dp"
                                android:layout_weight="1"
                                android:background="@drawable/my_drawable"
                                android:gravity="center"
                                android:padding="15dip"
                                android:text="Months" />

                            <TextView
                                android:id="@+id/status"
                                android:layout_width="0dp"
                                android:layout_weight="1"
                                android:background="@drawable/my_drawable"
                                android:gravity="center"
                                android:padding="15dip"
                                android:text="Number of Visits" />
                        </TableRow>

                        <TableRow
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" >

                            <TextView
                                android:layout_width="0dp"
                                android:layout_weight="1"
                                android:background="@drawable/my_drawable"
                                android:gravity="center"
                                android:padding="15dip"
                                android:text="January" />

                            <TextView
                                android:layout_width="0dp"
                                android:layout_weight="1"
                                android:background="@drawable/my_drawable"
                                android:gravity="center"
                                android:padding="15dip"
                                android:text="1" />
                        </TableRow>

                        <TableRow
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" >

                            <TextView
                                android:layout_width="0dp"
                                android:layout_weight="1"
                                android:background="@drawable/my_drawable"
                                android:gravity="center"
                                android:padding="15dip"
                                android:text="Februrary" />

                            <TextView
                                android:layout_width="0dp"
                                android:layout_weight="1"
                                android:background="@drawable/my_drawable"
                                android:gravity="center"
                                android:padding="15dip"
                                android:text="" />
                        </TableRow>
                    </TableLayout>

       </RelativeLayout>
 </ScrollView>

【问题讨论】:

    标签: java android android-layout scrollview android-relativelayout


    【解决方案1】:
    try this
    
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true"
        android:orientation="vertical">
    
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"        android:orientation="vertical">
    
    
    
            <LinearLayout
                android:layout_height="match_parent"
                android:layout_width="match_parent"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:id="@+id/linearLayout1"
                android:orientation="vertical"
                android:layout_above="@+id/tableLayout"
                android:background="@android:color/darker_gray">
            </LinearLayout>
    
    
            <TableLayout
                android:id="@+id/tableLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorAccent"
                android:padding="5dp"
                android:layout_alignParentBottom="true">
    
                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@android:color/darker_gray">
    
                    <TextView
                        android:id="@+id/home"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@color/colorPrimary"
                        android:gravity="center"
                        android:padding="15dip"
                        android:text="Months" />
    
                    <TextView
                        android:id="@+id/status"
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@color/colorPrimary"
                        android:gravity="center"
                        android:padding="15dip"
                        android:text="Number of Visits" />
                </TableRow>
    
                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@android:color/darker_gray">
    
                    <TextView
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@color/colorPrimary"
                        android:gravity="center"
                        android:padding="15dip"
                        android:text="January" />
    
                    <TextView
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@color/colorPrimary"
                        android:gravity="center"
                        android:padding="15dip"
                        android:text="1" />
                </TableRow>
    
                <TableRow
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@android:color/darker_gray">
    
                    <TextView
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@color/colorPrimary"
                        android:gravity="center"
                        android:padding="15dip"
                        android:text="Februrary" />
    
                    <TextView
                        android:layout_width="0dp"
                        android:layout_weight="1"
                        android:background="@color/colorPrimary"
                        android:gravity="center"
                        android:padding="15dip"
                        android:text="2" />
                </TableRow>
            </TableLayout>
    
        </LinearLayout>
    </ScrollView>
    

    【讨论】:

      【解决方案2】:

      为什么不只为 Table 应用 ScrollView?这只会滚动表格并且仍然显示所有视图:

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/webserviceLayout"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:background="#A3FFA3">
      
      <!--Other layout -->
      ....................
          <ScrollView
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_below="@+id/tableInfo"
                  android:isScrollContainer="true"
                  android:paddingTop="2dp"
                  android:paddingRight="2dp"
                  android:paddingLeft="2dp"
                  android:paddingBottom="2dp"
                  >
      
                  <HorizontalScrollView
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content">
      
                      <TableLayout
                          android:id="@+id/tablemaincontent"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:background="#E6E6E6" />
                  </HorizontalScrollView>
              </ScrollView>
      </RelativeLayout>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多