1

我想在底部放五个按钮,但所有按钮都应该具有相同的空间方式

下面是图片

在此处输入图像描述

在这里你可以看到第二个和第三个图像不在下面的中心是我的代码我知道我已经放置了填充但我的问题仍然没有解决,我也尝试使用线性布局,因为我已经通过使用 weight=1 和 width =0 但按钮正在拉伸

       <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
    android:id="@+id/wall"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:drawingCacheQuality="high"
    android:scaleType="fitXY" />

<Button
    android:id="@+id/butRight"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_marginRight="10dp"
    android:background="@drawable/check_right" />

<Button
    android:id="@+id/butfav"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/fvrt1" />

<Button
    android:id="@+id/butLeft"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="10dp"
    android:background="@drawable/check_left" />

<Button
    android:id="@+id/butSetWallpaper"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginLeft="39dp"
    android:layout_toRightOf="@+id/butLeft"
    android:background="@drawable/chek_wallpaper" />

<Button
    android:id="@+id/butSetRingTone"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="36dp"
    android:layout_toLeftOf="@+id/butRight"
    android:background="@drawable/check_ringtone" />

有谁能够帮我?

4

5 回答 5

2

我总是使用 LinearLayout 来实现这一点,而不是使用 ImageView 的按钮。

于 2013-09-24T11:49:07.250 回答
1

我试过下面的代码它对我有用试试这个,只需用你的RelativeLayout替换

 <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true" >

    <ImageView
        android:id="@+id/butLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/check_left" />

    <View
        android:id="@+id/butOne"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/check_right" />

    <ImageView
        android:id="@+id/butSetWallpaper"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/chek_wallpaper" />

    <View
        android:id="@+id/butTwo"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/check_right" />

    <ImageView
        android:id="@+id/butfav"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/fvrt1" />

    <View
        android:id="@+id/butThree"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/check_right" />

    <ImageView
        android:id="@+id/butSetRingTone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/check_ringtone" />

    <View
        android:id="@+id/butFour"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/check_right" />

    <ImageView
        android:id="@+id/butRight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/check_right" />
</LinearLayout>

输出将按照您的意愿生成

于 2013-09-24T12:23:04.600 回答
0

将按钮包装在 LinearLayout 中,并在每个按钮之间放置间距(我还在开头添加了一个,在最后一个之后添加了一个,如果您不想要它,请将它们删除)。

为每个间距分配一个 layout_weight,不要在 LinearLayout 上设置 weightSum。

享受。

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ImageView
            android:id="@+id/wall"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:drawingCacheQuality="high"
            android:scaleType="fitXY" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal" >

            <!-- this is for the spacing -->
            <View
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <Button
                android:id="@+id/butRight"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/check_right" />

            <!-- this is for the spacing -->
            <View
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <Button
                android:id="@+id/butfav"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/fvrt1" />

            <!-- this is for the spacing -->
            <View
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <Button
                android:id="@+id/butLeft"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/check_left" />

            <!-- this is for the spacing -->
            <View
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <Button
                android:id="@+id/butSetWallpaper"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/chek_wallpaper" />

            <!-- this is for the spacing -->
            <View
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1" />

            <Button
                android:id="@+id/butSetRingTone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/check_ringtone" />

            <!-- this is for the spacing -->
            <View
                android:layout_width="0px"
                android:layout_height="match_parent"
                android:layout_weight="1" />
        </LinearLayout>

    </FrameLayout>
于 2013-09-24T12:14:13.490 回答
0

它有点肮脏的解决方案,但它会工作:

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

    <LinearLayout
        android:id="@+id/aaaa"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/butRight"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher"
            android:gravity="center"
            android:minWidth="48dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/bbbb"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/butfav"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher"
            android:gravity="center"
            android:minWidth="48dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/cccc"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:minWidth="48dp"
        android:orientation="vertical" >

        <Button
            android:id="@+id/butLeft"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher"
            android:gravity="center"
            android:minWidth="48dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/ddd"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/butSetWallpaper"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher"
            android:gravity="center"
            android:minWidth="48dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/gggg"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/butSetRingTone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_launcher"
            android:minWidth="48dp" />
    </LinearLayout>

</LinearLayout>
于 2013-09-24T12:15:48.950 回答
0

为什么你们所有人都在用代码开玩笑。在 android 编码中,可以选择在项目之间留出空间。

  <Space
        android:id="@+id/space1"

        android:layout_below="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        /> 

只要你想用这个就行了。简单的。希望这会帮助你。

于 2015-07-28T19:08:20.653 回答