android - imagebutton - 顶部和底部?

时间:2012-09-01 20:34:14

标签: android layout

我希望,第一个图像按钮填充顶部位置,第二个图像按钮填充底部位置。我忘了什么吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@color/white"
    android:src="@android:drawable/btn_star"
    android:layout_gravity="top" />

<ImageButton
    android:id="@+id/imageButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="@color/white"
    android:src="@android:drawable/btn_star"
    android:layout_gravity="bottom" />

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

问题是您需要使用RelativeLayout尝试:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="#ffffff"
    android:src="@android:drawable/btn_star"
    android:layout_gravity="top" />

<ImageButton
    android:id="@+id/imageButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:background="#ffffff"
    android:src="@android:drawable/btn_star"
    android:layout_gravity="bottom" />

</RelativeLayout>

enter image description here

希望有所帮助。告诉我,如果这是你想要完成的,或者如果你想让两个按钮平均填充屏幕的高度减半。

如果是第二个选项,那么试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:background="#ffffff"
    android:src="@drawable/icon"
 />

<ImageButton
    android:id="@+id/imageButton2"
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:background="#ffffff"
    android:src="@drawable/icon"
 />

</LinearLayout>

看起来像这样:

enter image description here

答案 1 :(得分:0)

如果通过“填充”表示它应占全宽,请使用fill_parent代替wrap_content android:layout_width。否则,您应该使用RelativeLayout作为容器,而不是LinearLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageButton
    ...
    android:layout_gravity="top" />

<ImageButton
    ...
    android:layout_gravity="bottom" />

</RelativeLayout>

答案 2 :(得分:0)

尝试使用相对布局。使用它可以更容易地指定按钮的位置。

    <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="wrap_content" >

<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/white"
android:src="@android:drawable/btn_star"
android:layout_gravity="top" />

<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/imageButton1"
android:background="@color/white"
android:src="@android:drawable/btn_star"
android:layout_gravity="bottom" />
    </RelativeLayout>

你可以使用更多的位置,比如layout_below,它更容易对齐。

了解更多职位http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html