3

私は、次の 30 日間に Facebook の友達の誕生日のリストを取得するアプリを作成しています。それも取得できます。

しかし、私は非常に小さな問題に直面しています

リストに 4 つ以上のレコードがある場合は、上から友達のリストを取得しています。リストに 1 つまたは 2 つのレコードがある場合は、下のスクリーン ショットのように、結果が下に表示されます。

この問題を解決するにはどうすればよいか教えてください。これらのレコードを下部ではなく上部に表示するには * アリです... *

activityfb_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 に答える