开发者

android, how to place a scroll view in the middle of the screen:

开发者 https://www.devze.com 2023-03-12 11:08 出处:网络
I\'m trying to create a a screen layout of the following though: 开发者_如何学编程 A line with some TextView in it

I'm trying to create a a screen layout of the following though:

开发者_如何学编程
  1. A line with some TextView in it
  2. A scroll view where the user actions will add or remove View from
  3. A buttons line.

I have no problem with 1. or 3. But 2. gives me troubles. My scheme is:

<?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>

When I run the program, the buttons line is in the middle of the screen and When I add element to the screen (using the addView on the dataShow layout), the frist one is added without a problem but after that I can't tell what is happening.

Thanks


I'm not exactly sure what you are trying to do.

It seems like you want to dynamically add items to the dataShow layout. Instead of using a ScrollView containing a LinearLayout, you should be using a ListView (vertical scrolling) or Gallery (horizontal scrolling) for your dataShow layout. This will provide the scroll functionality and allow you to add items dynamically to the list/gallery.


Try using a RelativeLayout, then align the header at the top, and the footer at the bottom. Set the 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>
0

精彩评论

暂无评论...
验证码 换一张
取 消