3

我正在编写一个应用程序,我在其中获取未来 30 天内那些生日的 Facebook 好友列表,并且我也能够获取该列表。

但我面临着非常小的问题

我看到如果我在列表中有超过 4 条记录,那么我会从顶部获取朋友列表,如果我在列表中有 1 或 2 条记录,那么我会在底部获得结果,如下面的屏幕截图所示:

请告诉我如何解决此问题,iw* ant 将这些记录显示在顶部而不是底部... *

活动fb_friends.xml:

  <?xml version="1.0" encoding="utf-8"?>

<ListView
    android:id="@+id/friends_list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:cacheColorHint="#00000000"
    android:divider="#b5b5b5"
    android:layout_above="@+id/greeting"
    android:dividerHeight="1dp" />

 <ImageButton
    android:id="@+id/greeting"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/greet"
    android:layout_marginTop="10dp" 
    android:layout_marginBottom="10dp" />

</RelativeLayout>

listfb_friends.xml:

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="5dp"
android:background="@drawable/btn_background"
android:gravity="center"
android:orientation="horizontal"
android:padding="5dip" >

<RelativeLayout
    android:id="@+id/friend_item"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="5dip"
    android:background="@drawable/image_background"
    android:padding="3dip" >

    <ImageView
        android:id="@+id/picture"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:src="@drawable/img"/>
</RelativeLayout> 

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/friend_item"
    android:layout_toRightOf="@+id/friend_item"
    android:textColor="#324e87"
    android:textSize="15dip"
    android:textStyle="bold"
    android:typeface="sans" />

<TextView
    android:id="@+id/dob"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/name"
    android:layout_marginTop="1dip"
    android:layout_toRightOf="@+id/friend_item"
    android:textColor="#343434"
    android:textSize="15dip"
    />

 </RelativeLayout>
4

2 回答 2

4

问题在于布局@+id/friends_list。您已将其layout_height="wrap_content"和 设置为layout_above="@+id/greeting"。这意味着它只会与包含的项目一样大,并且会出现在问候按钮的上方(您已将其锚定到容器的底部)。

最简单的解决方案是删除layout_above并替换为android:layout_alignParentTop="true". 这会将列表锚定到容器的顶部,而不是仅仅在问候图像按钮上方。

于 2013-02-25T06:05:53.607 回答
2

尝试android:layout_alignParentTop="true"在列表视图中添加谁的 id 是friends_list

于 2013-02-25T06:11:02.333 回答