移动漫步列表视图时移动所有元素

时间:2014-07-18 21:23:59

标签: android android-layout listview android-listview listviewitem

我的项目有问题,当我移动列表时,它也会移动部件到达,这会占用屏幕上的空间,我希望它在列表移动时消失并在漫步时显示在到达的部分,非常感谢你!很抱歉翻译,但是有翻译。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.app.flyforo.MainActivity" >

    <LinearLayout
        android:id="@+id/contentUser"
        android:layout_width="fill_parent"
        android:layout_height="90dp"
        android:background="@drawable/banner" >

        <ImageView
            android:id="@+id/imageUser"
            android:layout_width="80dp"
            android:layout_height="60dp"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/userName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Flyforo"
            android:textColor="#fff"
            android:textSize="11sp" />

        <TextView
            android:id="@+id/userTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="-40dp"
            android:layout_marginRight="28dp"
            android:layout_marginTop="20dp"
            android:text="Flyforo"
            android:textColor="#fff"
            android:textSize="17sp"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/contentSeguidores"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/contentUser" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.74"
            android:background="#FBFBFB"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/numseguidores"
                android:layout_width="215dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="4dp"
                android:gravity="center"
                android:text="4"
                android:textSize="17sp"
                android:textStyle="bold" />

            <TextView
                android:layout_width="215dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="-5dp"
                android:gravity="center"
                android:text="Seguidores"
                android:textSize="13sp" />

        </LinearLayout>



    </LinearLayout>

    <LinearLayout
        android:id="@+id/menu"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/contentSeguidores"
        >





        <LinearLayout
            android:layout_width="160dp"
            android:layout_height="match_parent"
            android:background="@drawable/border2"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/buttoninicio"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="Inicio"
                android:textSize="17sp" />

        </LinearLayout>






        <LinearLayout
            android:layout_width="160dp"
            android:layout_height="match_parent"
            android:background="@drawable/border2"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/buttonposts"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:textSize="17sp"
                android:text="Posts" />

        </LinearLayout>











    </LinearLayout>


<ProgressBar
    android:id="@+id/loading"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:indeterminate="true" />

    <Button
        android:id="@+id/button1"
        android:layout_width="50dp"
        android:layout_height="35dp"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/contentUser"
        android:layout_marginRight="10dp"
        android:drawableLeft="@drawable/ic_action_add_person"
        android:layout_marginTop="7dp"
        android:textSize="14sp"
        android:textStyle="bold"
        android:textColor="#fff"
        android:background="@drawable/button_confirm"
        android:text="" />

    <ListView
        android:id="@+id/profileList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/menu"
         >
    </ListView>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

我不确定你想要什么。但我将布局更改为线性布局。然后做了一些额外的改变。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                tools:context="com.app.flyforo.MainActivity" >

    <LinearLayout
            android:id="@+id/contentUser"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            >

        <ImageView
                android:id="@+id/imageUser"
                android:layout_width="80dp"
                android:layout_height="60dp"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="10dp"
                android:src="@drawable/ic_launcher" />

        <TextView
                android:id="@+id/userName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="40dp"
                android:text="Flyforo"
                android:textColor="#fff"
                android:textSize="11sp" />

        <TextView
                android:id="@+id/userTitle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_marginLeft="-40dp"
                android:layout_marginRight="28dp"
                android:layout_marginTop="20dp"
                android:text="Flyforo"
                android:textColor="#fff"
                android:textSize="17sp"
                android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
            android:id="@+id/contentSeguidores"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/contentUser" android:orientation="horizontal">

        <LinearLayout
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent" android:layout_weight="1">
            <TextView
                    android:id="@+id/numseguidores"
                    android:layout_width="215dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="4dp"
                    android:gravity="center"
                    android:text="4"
                    android:textSize="17sp"
                    android:textStyle="bold" />
            <TextView
                    android:layout_width="215dp"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="-5dp"
                    android:gravity="center"
                    android:text="Seguidores"
                    android:textSize="13sp" />
        </LinearLayout>
        <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/contentUser"
                android:layout_marginRight="10dp"

                android:layout_marginTop="7dp"
                android:textSize="14sp"
                android:textStyle="bold"
                android:textColor="#fff"

                android:text="" />


    </LinearLayout>

    <LinearLayout
            android:id="@+id/menu"
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/contentSeguidores"
            >


        <TextView
                android:id="@+id/buttoninicio"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="Inicio"
                android:textSize="17sp" android:layout_weight="1"/>
        <TextView
                android:id="@+id/buttonposts"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:gravity="center"
                android:textSize="17sp"
                android:text="Posts" android:layout_weight="1"/>


    </LinearLayout>


    <ListView
            android:id="@+id/profileList"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/menu"
            >
    </ListView>

</LinearLayout>

答案 1 :(得分:0)

我想你的意思是你的内容高于 ListView,当你滚动ListView时,你希望它上面的内容也滚动到屏幕上。如果这是描述您的问题,请继续阅读!

您希望将ListView上的内容包装在自己的XML文件中,将其作为单个ViewGroup充气,然后将该ViewGroup添加为ListView上的标题。

将布局分为ListView和HeaderView

您的视图层次结构如下所示:

RelativeLayout
    LinearLayout=contentUser
    LinearLayout=contentSeguidores
    LinearLayout=menu
    ProgressBar
    Button
    ListView
/RelativeLayout

如果它位于名为activity_list.xml的文件中,则可以将内容复制到布局目录中名为view_list_header.xml的另一个文件中。在这个复制的文件中,删除ListView,并在activity_list.xml中删除除ListView之外的所有内容,以便文件结构如下:

activity_list.xml

<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/profileList"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

view_list_header.xml

RelativeLayout
    LinearLayout=contentUser
    LinearLayout=contentSeguidores
    LinearLayout=menu
    ProgressBar
    Button
/RelativeLayout

对HeaderView进行充气并附加到ListView

在您的活动中,或者在您设置ListView的任何地方,您都会遇到类似的内容:

...
setContentView(R.layout.activity_list);
ListView listView = (ListView) findViewById(R.id.profileList);
listView.setAdapter(...);
...

现在,您需要对标头进行充气,并在设置适配器之前将其添加到ListView

...
setContentView(R.layout.activity_list);
ListView listView = (ListView) findViewById(R.id.profileList);
View headerView = getLayoutInflater().inflate(R.layout.view_header_list, listView, false);
listView.addHeaderView(headerView);
listView.setAdapter(...);
...