Android:滚动时顶部屏幕消失

时间:2012-03-26 14:36:56

标签: android scrollview

我正在尝试创建一个Android应用程序。这个应用只有一个屏幕。在此屏幕中,需要向下滚动。

现在我有了这段代码:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/name1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ImageButton
        android:id="@+id/calculate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/button" />

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|center_vertical" >

        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/image" />

        <CheckedTextView
            android:id="@+id/score"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </FrameLayout>

    <CheckedTextView
        android:id="@+id/quote"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>

但是当CheckedTextField包含大量文本并且我需要滚动时,会出现滚动但窗口顶部不见了。所以我再也看不到第一个EditText'name1'了。我不能通过滚动来取回它......

任何可以给我解决方案的人?

提前Tnx!

2 个答案:

答案 0 :(得分:0)

我使用以下内容,它为我提供了一个永久标题区域,而不管ScrollView中有多少文本/数据。您可以用EditText替换外部LinearLayout的内容吗?希望这可以帮助。无论如何都适合我!

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:background="@color/bto_light_green">
 <LinearLayout android:orientation="horizontal" android:id="@+id/linear1"
    android:background="@color/bto_dark_green" android:layout_width="fill_parent"
    android:gravity="center_vertical" android:layout_height="wrap_content"
    android:paddingTop="4dip">
    <Button android:id="@+id/helpBackButton" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="Back" />
    <TextView android:id="@+id/Info1" android:textSize="14dip"
        android:paddingLeft="3dip" android:textColor="@color/white"
        android:textStyle="bold" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="1.0"
        android:text="Help" />
 </LinearLayout>
 <ScrollView android:id="@+id/ScrollView01"
    android:layout_width="wrap_content" android:layout_below="@+id/linear1"
    android:fillViewport="true" android:layout_height="fill_parent">
    <LinearLayout android:orientation="vertical"
        android:background="@color/bto_light_green"   android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView android:id="@+id/helptTitle1" android:textSize="16dip"
            android:paddingLeft="3dip" android:textColor="@color/bto_dark_green"
            android:textStyle="bold" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="1.0"
            android:text="First things first..." />
        <TextView android:id="@+id/Help1" android:textSize="14dip"
            android:paddingLeft="3dip" android:textColor="@color/black"
            android:textStyle="bold" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="1.0"
            android:text="Help coming soon, be patient..." />
        <TextView android:id="@+id/helptTitle2" android:textSize="16dip"
            android:paddingLeft="3dip" android:textColor="@color/bto_dark_green"
            android:textStyle="bold" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="1.0"
            android:text="Other settings..." />
        <TextView android:id="@+id/Help2" android:textSize="14dip"
            android:paddingLeft="3dip" android:textColor="@color/black"
            android:textStyle="bold" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_weight="1.0"
            android:text="Help coming soon, be patient..." />
    </LinearLayout>
  </ScrollView>
</LinearLayout>

答案 1 :(得分:0)

尝试

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <EditText
       android:id="@+id/name1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" />

    <ImageButton
       android:id="@+id/calculate"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@drawable/button" />

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|center_vertical" >

       <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/image" />

       <CheckedTextView
           android:id="@+id/score"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:scrollbars = "vertical"
           android:maxLines = "5"
       />
     </FrameLayout>

    <CheckedTextView
        android:id="@+id/quote"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:scrollbars = "vertical"
        android:maxLines = "5"
    />

活动中的文本字段的setMovementMethod:

.....
 ((CheckedTextView)findViewById(R.id.ID)).setMovementMethod(new ScrollingMovementMethod());