我的XML代码是:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right">
<Button
android:id="@+id/btnMyDeals"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:layout_gravity="right"
android:layout_marginRight="8dp"
android:text="DEALS"
android:textSize="18sp"
android:textColor="@color/white"
android:background="@drawable/rounded_deals_button"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/badge_notification_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_notification_overlay"
android:text="23"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold" />
</RelativeLayout>
我希望TextView
气泡作为通知徽章浮动Button
。 TextView
可能会漂浮在Button
的右上角或左上角。
怎么做?
答案 0 :(得分:1)
试试这个:
改为使用FrameLayout
。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true">
<Button
android:id="@+id/btnMyDeals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="DEALS"
android:textSize="18sp"
android:textColor="@color/white"/>
<TextView
android:id="@+id/badge_notification_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_notification_overlay"
android:text="23"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold"
android:elevation="100dp"
/>
</FrameLayout>
</RelativeLayout>
答案 1 :(得分:1)
请尝试
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right">
<Button
android:id="@+id/btnMyDeals"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_gravity="right"
android:layout_marginRight="8dp"
android:text="DEALS"
android:textSize="18sp" />
<TextView
android:id="@+id/badge_notification_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:drawable/ic_notification_overlay"
android:text="23"
android:textColor="#FFF"
android:textSize="12sp"
android:textStyle="bold"
android:translationZ="5dp"/>
</RelativeLayout>
答案 2 :(得分:1)
我可以解决的唯一方法是让按钮顶部的文字位于顶层视图层次结构中
<FrameLayout>
<LinearLayout regular layout with button inside/>
<TextTiew for button overlay />
</FrameLayout>
不漂亮,不高效但有效。
答案 3 :(得分:0)
使用android:layout_alignEnd
对齐右上角,android:layout_alignStart
对齐左上角。你可以放入&#39; place&#39;的开始&#39;并且&#39;对&#39;代替&#39;结束&#39;对于较低的apis。
android:layout_alignEnd="@id/btnMyDeals"
OR
android:layout_alignStart="@id/btnMyDeals"
将这些行放入textview
答案 4 :(得分:0)
您需要将android:layout_gravity="top|right"
或android:layout_gravity="top|left"
添加到TextView
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnMyDeals"
android:layout_width="wrap_content"
android:layout_height="32dp"
...
/>
<TextView
android:id="@+id/badge_notification_2"
...
android:layout_gravity="top|right"
/>
</FrameLayout>
答案 5 :(得分:0)
要将按钮与textView叠加在一起, 这对我有用。但是我不知道API级别有多低。
android:elevation="8dp"