为什么这些ImageButtons(删除和更新)覆盖

时间:2015-06-19 01:22:28

标签: java android xml layout

这个.xml将是RecycleView列表中项目的布局,但最后两个按钮是重叠的

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


    android:baselineAligned="false"
    android:weightSum="1">

    <LinearLayout android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"
        android:layout_alignParentLeft="true"
        android:background="@drawable/favorite"
        android:layout_marginRight="5dip">

        <ImageButton
            android:id="@+id/imageButton"
            android:layout_width="25dip"
            android:layout_height="25dip"
            android:background="@null"
            android:src="@drawable/nofavorite"/>

    </LinearLayout>


    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="Rihanna Love the way lie"
        android:textColor="#040404"
        android:typeface="sans"
        android:textSize="15dip"
        android:textStyle="bold"/>
    <TextView
        android:id="@+id/artist"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#343434"
        android:textSize="10dip"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="Just gona stand there and ..."
        android:layout_below="@+id/text_view" />


    <ImageButton android:layout_width="wrap_content"
        android:id="@+id/update"
        android:layout_height="wrap_content"
        android:src="@drawable/nofavorite"
        android:background="@null"
        android:layout_alignRight="@+id/artist" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@null"
        android:id="@+id/delete"
        android:src="@drawable/favorite"
        android:layout_alignRight="@+id/artist"
        />


</RelativeLayout>

它们应该在右边的末尾,最后是DELETE按钮,在这个按钮的左边,但是在屏幕的右端有UPDATE按钮,我将稍后将这些按钮绑定到

和另一个问题,我如何通过物品制作分隔物?

谢谢=)

2 个答案:

答案 0 :(得分:2)

这是因为您在两个图像上使用layout_alignRight="@+id/artist",这些图像基本上将2个图像的右边缘与具有id艺术家的视图的右边缘对齐。要实现您的目标,请在DELETE按钮上使用layout_alignParentRight="true",在UPDATE按钮上使用layout_toLeftOf="@+id/delete"。顺便说一句,为什么你需要在父级上使用layout_weightSum。它只适用于LinearLayout。

要在项目之间进行分隔,您可以在其中一个项目上使用左(右)边框的背景,或者在它们之间放置视图。

答案 1 :(得分:1)

您的按钮需要具有相对于彼此设置其位置的属性。目前,关于其立场的唯一迹象是:

 android:layout_alignRight="@+id/artist"

由于您使用的是RelativeLayout(这很好),这还不足以放置您的组件。我建议您使用IDE中的可视化编辑器来处理参数。

要记住的一件事是,XML文件中最后描述的组件应该具有与其他组件相对的位置属性。所以在你的情况下,你的DELETE按钮。