java - 像 facebook 一样的元素列表

标签 java android

我想创建一个应用程序,它在页面底部有一个列表,当我向下滚动屏幕时,屏幕顶部消失并仅显示元素列表(当我再次向上滚动时,它显示我再次回到页面顶部)- 与 Facebook 应用程序中的相同..

我尝试实现它,这是我的带有 ListView 和 ScrollView 的 xml,但是它没有按预期工作..

当我滚动页面时,页面保持原样,并且仅当我滚动 ListView 时, ListView 才会向下,但页面顶部保持不变, ListView 保持相同的大小)

我怎样才能制作与 Facebook Android 应用程序中相同的列表?

非常感谢

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true" >

 <RelativeLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:background="#ffffff" >

     <!-- Header  Starts -->

     <LinearLayout
         android:id="@+id/header"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:background="@layout/header_gradient"
         android:paddingBottom="5dip"
         android:paddingTop="5dip" >

         <!-- Logo Start -->
         <!-- Logo Ends -->

         <com.facebook.widget.ProfilePictureView
             android:id="@+id/profilePictureView1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="18dp"
             android:layout_weight="1" >
         </com.facebook.widget.ProfilePictureView>

         <TextView
             android:id="@+id/profileNameText"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="80dp"
             android:layout_weight="1"
             android:ems="10"
             android:inputType="textPersonName" />
     </LinearLayout>
     <!-- Header Ends -->

     <ImageView
         android:id="@+id/freinds"
         android:layout_width="50dp"
         android:layout_height="50dp"
         android:layout_alignParentRight="true"
         android:layout_below="@+id/detailsText"
         android:layout_marginRight="40dp"
         android:layout_marginTop="17dp"
         android:src="@drawable/logo" />

     <ImageView
         android:id="@+id/LikeImage"
         android:layout_width="50dp"
         android:layout_height="50dp"
         android:layout_alignTop="@+id/freinds"
         android:layout_marginRight="27dp"
         android:layout_toLeftOf="@+id/freinds"
         android:src="@drawable/logo" />

     <TextView
         android:id="@+id/detailsText"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@+id/header"
         android:layout_marginTop="16dp"
         android:layout_toLeftOf="@+id/freinds"
         android:ems="10"
         android:inputType="textMultiLine" >

         <requestFocus />
     </TextView>

     <LinearLayout
         android:id="@+id/linearLayout1"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_below="@+id/freinds" >

         <Button
             android:id="@+id/registerTwitter"
             android:layout_width="0dp"
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="Sale" />

         <Button
             android:id="@+id/registerFB"
             android:layout_width="0dp"
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="Deliver" />

         <Button
             android:id="@+id/clearCredentials"
             android:layout_width="0dp"
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="Group" />
     </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/linearLayout1"
        android:orientation="vertical" >

                <EditText android:id="@+id/EditText01"
                                android:layout_height="wrap_content"
                                android:layout_width="fill_parent"
                                android:hint="Search">                               
                </EditText>

                <ListView android:id="@+id/ListView01"
                                android:layout_height="wrap_content"
                                android:layout_width="fill_parent">
                </ListView>

    </LinearLayout>

 </RelativeLayout>

</ScrollView>

最佳答案

我认为你想要的不仅仅是 xml 布局,但也许我错过了理解,尝试玩一下 ScrollView 事件。

当用户向上滚动时,您希望立即显示页面顶部,因此您需要注册 ScrollView 的onscroll事件,并检查滚动方向,以显示页面的顶部部分。这样是不是更清楚了?

关于java - 像 facebook 一样的元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283750/

相关文章:

java - 如何在 JVM 被杀死之前让线程永远存活?

java - 更新托盘中的标签

java - 将 RestTemplate 保留在内存中比为每个请求创建新的 RestTemplate 更好吗?

java - 每 x 分钟为每个玩家重复一次任务

android - picasso 从 URL 下载多张图片

android - 有没有办法按英寸指定文件夹布局?

java - Spring Batch - 根据记录计数写入多个文件

java - Android 截击 : Headers are not appended

android - 如何在 Hockeyapp 上将 Nevercode 构建从一个应用程序迁移到另一个应用程序?

android - 如何通过添加搜索查询的 Intent 启动 GoogleNow?