android,如何在屏幕中间放置滚动视图:

时间:2011-06-11 19:59:41

标签: android scrollview android-ui

我正在尝试创建以下屏幕布局:

  1. 其中包含一些TextView的行
  2. 滚动视图,用户操作将在
  3. 中添加或删除视图
  4. 按钮线。
  5. 我对1.或3.没有问题但是2.给我带来了麻烦。我的计划是:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/mainX"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" 
      android:orientation="vertical">
      <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/labels" 
        android:layout_weight="1">
      <!--Some text view of various sizes -->
      </LinearLayout>
      <ScrollView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/dataScroll">
        <LinearLayout 
          android:id="@+id/dataShow" 
          android:layout_width="match_parent" 
          android:layout_height="wrap_content">
        </LinearLayout>
      </ScrollView>
      <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/buttons" 
        android:layout_weight="1">
      <!--some buttons-->
      </LinearLayout>
    </LinearLayout>
    

    当我运行程序时,按钮行位于屏幕中间,当我向屏幕添加元素时(使用dataShow布局上的addView),第一个添加没有问题,但之后我可以不知道发生了什么。

    由于

2 个答案:

答案 0 :(得分:0)

我不确定你要做什么。

您似乎想要动态地将项目添加到dataShow布局。您应该使用ListView(垂直滚动)或Gallery(水平滚动)作为dataShow布局,而不是使用包含LinearLayout的ScrollView。这将提供滚动功能,并允许您动态地将项目添加到列表/库中。

答案 1 :(得分:0)

尝试使用RelativeLayout,然后将标题对齐顶部,页脚对齐底部。设置ScrollView paddingBottom。

<?xml version="1.0" encoding="utf-8"?>

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

    <TextView
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:paddingBottom="10dp"
        android:paddingTop="10dp"
        android:text="text"
        android:textAlignment="center"
        android:layout_centerHorizontal="true"
        android:layout_alignParentTop="true"/>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/header"
        android:layout_above="@+id/footer"
        android:paddingBottom="100dp">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="center main content"
            android:textAlignment="center"
            android:layout_centerHorizontal="true"
            android:layout_alignParentTop="true"/>

    </ScrollView>

    <RelativeLayout
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="@color/colorPrimary"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="text"
            android:textAlignment="center"
            android:layout_centerHorizontal="true"
            android:layout_alignParentTop="true"/>

    </RelativeLayout>
</RelativeLayout>