并非所有视图都在滚动

时间:2014-07-23 01:39:54

标签: android android-layout android-scrollview

我道歉,即使在咨询了SO解决方案之后,我仍然在努力: (1)ScrollView causes the App to crash (2)Adding scrollview crashes app (3)App crashing after adding a ScrollView and ImageView (4)Add a ScrollView in Linear and Relative Layout in one XML file ---等等。

这是我的情况:

  

[ - 主题--------------]

     

[ - 标签---------------]

     

[ - 与会者--------]

     

{mail message#1}

     

{mail message#2}

     

{mail message#3}

当前行为:当我滚动时,{邮件消息}向上移动,但[主题标签 - 参与者]保持固定标头。

所需行为:当我滚动时,[主题标签 - 参与者]和{消息}作为一个优雅的单位移动,滚出视野,就像神奇的独角兽在日落中跳舞一样。 / p>

代码

<?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"
    android:background="@android:color/white"
    android:orientation="vertical" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true">

        <RelativeLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="75dp"
        android:orientation="vertical">

        <TextView
        android:id="@+id/subject"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingLeft="13dp"
        android:text="Subject"
        android:textSize="20sp"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/labels_row"
        android:layout_below="@id/subject"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="4dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/labels_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:layout_marginLeft="17dp"
            android:src="@drawable/label" />

        <TextView
            android:id="@+id/labels"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="44dp"
            android:text="Labels" />

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/participants_row"
        android:layout_below="@id/labels_row"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="4dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/participants_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="2dp"
            android:layout_marginLeft="13dp"
            android:src="@drawable/participants" />

        <TextView
            android:id="@+id/participants"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="44dp"
            android:text="Participants" />

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/mails"
        android:layout_below="@id/participants_row"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

                </RelativeLayout>



</ScrollView>

    <RelativeLayout
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="25dp"
        android:gravity="center" >

        <ImageButton
            android:id="@+id/compose_reply"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/text_reply" />

        <View
            android:id="@+id/reply_divider"
            android:layout_toRightOf="@id/compose_reply"
            android:layout_width="1dp"
            android:layout_height="48dp"
            android:layout_marginTop="1dp"
            android:layout_marginRight="-1dp"
            android:layout_marginBottom="1dp"
            android:layout_marginLeft="-1dp"
            android:background="#CED0D1" />

        <ImageButton
            android:id="@+id/voice_reply"
            android:layout_toRightOf="@id/reply_divider"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/voice_input" />

        <Spinner
            android:id="@+id/touch_reply"
            style="?android:attr/buttonStyleSmall"
            android:layout_toRightOf="@id/voice_reply"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </RelativeLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

为什么要为每个视图使用单独的布局?您是否尝试将所有视图添加到单个相对布局?

答案 1 :(得分:0)

如果你想要

  

所需行为:当我滚动时,[主题标签 - 参与者]和{消息}作为一个优雅的单位移动,滚出视野就像魔法独角兽跳入夕阳。

然后将所有内容放入1个RelativeView中,在1个ScrollView

e.g。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


        More Views

        More Layouts

        More Views

        More Layouts


    </RelativeLayout>

</ScrollView>