将徽章气泡放置在button的左上方

我正在尝试向我的“活动”button之一添加徽章。 现在我正在试图做的XML。 带徽章的Button应该是这样的:

替代文字

我已经使用RelativeLayout完成了内部的泡泡和文本:

 <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:src="@drawable/badge" android:layout_centerInParent="true"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:text="2" android:layout_centerInParent="true" /> </RelativeLayout> 

但是我找不到一种方法将它放在那里,并使用相同的xml在纵向和横向上工作。

Activity中的屁股是这样的:

 <Button android:id="@+id/new_releases_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ic_button_selector" android:text="@string/new_releases_title" android:textColor="#FFFFFF" android:textSize="20sp" android:gravity="center_vertical" android:paddingLeft="12dp" android:layout_marginTop="15dp" android:layout_below="@id/coming_soon_button" android:onClick="newReleaseClick" android:layout_centerHorizontal="true" /> <Button android:id="@+id/top_sellers_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ic_button_selector" android:text="@string/top_sellers_title" android:textColor="#FFFFFF" android:textSize="20sp" android:gravity="center_vertical" android:paddingLeft="12dp" android:layout_marginTop="15dp" android:layout_below="@id/new_releases_button" android:onClick="topSellersClick" android:layout_centerHorizontal="true" /> 

这里有两个资源:

替代文字替代文字

我应该怎么做的XML?

编辑:到目前为止最好的办法,但它仍然无法正常工作:

 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/discounts_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ic_button_selector" android:text="@string/discounts_title" android:textColor="#FFFFFF" android:textSize="20sp" android:onClick="discountsClick" android:layout_marginTop="40dp" android:layout_marginLeft="20dp"/> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top|left"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:src="@drawable/badge" android:layout_centerInParent="true"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:text="20" android:layout_centerInParent="true" /> </RelativeLayout> </FrameLayout> 

Solutions Collecting From Web of "将徽章气泡放置在button的左上方"

使用FrameLayout (而不是RelativeLayout),并将button和图像放入它。

定位图像(数字圈)和button通过

 android:layout_gravity="top|left" android:layout_marginTop="Xdp" android:layout_marginLeft="Xdp" 

到你的喜欢。

我会说,FrameLayout应该很容易:

 <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="15dp"> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="15dip"> <Button android:id="@+id/new_releases_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ic_button_selector" android:text="@string/new_releases_title" android:textColor="#FFFFFF" android:textSize="20sp" android:gravity="center_vertical" android:paddingLeft="12dp" android:layout_below="@id/coming_soon_button" android:onClick="newReleaseClick"/> </FrameLayout> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:src="@drawable/badge" android:layout_centerInParent="true"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:text="2" android:layout_centerInParent="true" /> </RelativeLayout> </FrameLayout> 

可能你需要调整利润。

编辑:

添加android:layout_gravity="top|left"将如下所示:

替代文字