私は以下のような LinearLayout を持っています
<LinearLayout
android:id="@+id/middleLinearLayout"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:orientation="vertical" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:cacheColorHint="#00000000"
android:gravity="center"
android:listSelector="@drawable/categories_list_item_selector" >
</ListView>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="300dp"
android:layout_height="22dp"
android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:scaleType="fitCenter"
android:src="@drawable/button_plus" />
</LinearLayout>
ボタンを一番下のListViewに固定したいので、ListViewに0個のアイテムがある場合はボタンが上に移動します... ListViewに多くのアイテムがある場合、Linearの一番下に触れるまでボタンをListViewとして成長させ、その後、ListView はそれ以上の高さを取得しなくなります。
ご協力いただきありがとうございます...
- - -編集 - - - - -
私の完全なレイアウトxmlは次のようなものです
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
tools:context=".ShowFoodOrSupplement" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
android:src="@drawable/main_bg" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:adjustViewBounds="true"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/backButton"
android:layout_width="15dp"
android:layout_height="16dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:background="@android:color/transparent"
android:onClick="backBtnClick"
android:scaleType="fitXY"
android:src="@drawable/back_arrow" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="245dp"
android:layout_height="45dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="0dp"
android:src="@drawable/general_top_image" />
<TextView
android:id="@+id/titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="8dp"
android:text="το πρόγραμμά μου"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12sp" />
</RelativeLayout>
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:src="@drawable/myprogram_breakfast_image" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/lines_bg_program_food" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginLeft="40dp"
android:background="@android:color/transparent"
android:scaleType="fitXY"
android:src="@drawable/watch_program" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/imageButton4"
android:text="--:--" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:background="@android:color/transparent"
android:scaleType="fitXY"
android:src="@drawable/alarm_icon" />
<ImageButton
android:id="@+id/imageButton6"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_alignParentRight="true"
android:layout_marginRight="40dp"
android:background="@android:color/transparent"
android:scaleType="fitXY"
android:src="@drawable/copy_program" />
</RelativeLayout>
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:text="Kcal"
android:layout_gravity="right"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<RelativeLayout
android:id="@+id/middleLinearLayout"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:orientation="vertical" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00000000"
android:cacheColorHint="#00000000"
android:gravity="center"
android:listSelector="@drawable/categories_list_item_selector" >
</ListView>
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="300dp"
android:layout_height="22dp"
android:adjustViewBounds="true"
android:layout_below="@id/listView1"
android:background="@android:color/transparent"
android:scaleType="fitCenter"
android:onClick="PickSomeFood"
android:src="@drawable/button_plus" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:background="@android:color/darker_gray" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="20dp"
android:text="σύνολο θερμίδων:" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:text="0 Kcal" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:background="@android:color/darker_gray" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageButton
android:layout_width="130dp"
android:layout_height="35dp"
android:background="@android:color/transparent"
android:scaleType="fitXY"
android:src="@drawable/profile_form_save_button" />
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:text="αποθήκευση"
android:textColor="#ffffff"
android:textSize="14sp" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/ImageButton02"
android:layout_width="130dp"
android:layout_height="35dp"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:scaleType="fitXY"
android:src="@drawable/profile_form_save_button" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:text="διαγραφή"
android:textColor="#ffffff"
android:textSize="14sp" />
</FrameLayout>
</LinearLayout>
<ImageView
android:id="@+id/imageViewBottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_marginBottom="5dp"
android:src="@drawable/bottom_schedule" />
</LinearLayout>
だから私は最初の線形が画面の全高を取得し、次に middleLinearLayout の上のすべてのウィジェット内で上に移動し、middleLinearLayout の下の残りの部分が下に移動するようにします... Android:layout_weight="1" を追加することで成功しましただから今、middleLinearLayoutは残りの高さを取得しています...
現在、middleLinearLayout 内に ListView と Button があります...たとえば、ListView アイテムが 2 の場合、ボタンは ListView の下部に固定され、middleLinearLayout の最後までスペースが残ります...
問題は、ListView アイテムが middleLinearLayout の高さを超える場合、ListView の下の UIImageButton が消えることです...