2

私は、リストビューと下部に1つのImageView、上部に1つのImageViewを持ち、リストビューが残されたスペースを埋める垂直LinearLayoutを持っています。

次のようになります。

<LinearLayout layout_height="match_parent" layout_width="@dimen/width"
    orientation="vertical"> 
    <ImageView layout_height="@dimen/width" layout_width="@dimen/width" id="@+id/top">

     <ListView  android:layout_height="0px"
        android:background="#00ffff"
        android:layout_width="@dimen/width"
        android:layout_weight="1" />

     <ImageView layout_height="@dimen/width" layout_width="@dimen/width" id="@+id/bottom" layout_gravity="bottom|center_horizontal">

リストビューが表示されているときはいつでも問題なく動作します。

しかし、ListView を非表示に設定すると、「一番下」の ImageView がポップアップして一番上の Image View のすぐ下に表示されます。

私の質問は、' android:layout_gravity="bottom|center_horizo​​ntal"' と言ったにもかかわらず、下部の ImageView が下部にとどまらない理由です。したがって、下部の Image ビューは android:layout_gravity="bottom|center_horizo​​ntal" を尊重し、下部にとどまる必要がありますよね?

4

2 に答える 2

3

LinearLayout私のコメントの代わりに、 yourを aに置き換えることができますRelativeLayout。Agarwal はすでにこれを提案しましたが、彼のコードは少しごちゃごちゃしており、この記事の執筆時点では、何をしたいのかという点で正しくありません。

以下のコードを試してみてください。を に設定するListViewgone、上下の画像は の場合と同じ位置に保持されvisibleます。参照を置き換えたことに注意してください@dimens/width

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

    <ImageView android:id="@+id/top" android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <ListView android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_above="@+id/bottom"
        android:layout_below="@+id/top" android:background="#00ffff" />

    <ImageView android:id="@+id/bottom" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>
于 2012-04-21T03:31:32.107 に答える
0

最善の解決策は、これに ralaticelayout を使用することです::::

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#0000FF">

 <ImageView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/top" />
<ImageView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/bottom" android:layout_alignParentBottom="true"/>
     <ListView  android:layout_height="fill_parent"
        android:background="#00ffff"
        android:layout_width="fill_parent"
        android:layout_below:@id/top android:layout_above:@id/bottom />


</RelativeLayout>
于 2012-04-21T02:22:28.980 に答える