我在Android
中设置了以下布局。我希望TextView
在按钮的右下方重叠,作为计数器。
不是在按钮上重叠,而是在它下面的“下”圈。它永远不会在前台。
我知道我可以使用API 21的Elevation属性,但我想要与早期的设备兼容。
我希望在TextView
之后放置Button
足以实现我想要的效果 - 无法理解为什么它没有达到预期的效果。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_height="60dp"
android:layout_width="60dp"
android:id="@+id/chat_request"
android:background="@drawable/chatbubble"
android:duplicateParentState="true"
android:enabled="false"
android:layout_alignWithParentIfMissing="false"
android:focusable="false" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/request_counter"
android:layout_alignParentRight="false"
android:layout_alignParentEnd="false"
android:background="@drawable/count_background"
android:textColor="@color/white"
android:layout_gravity="bottom|right"
android:layout_below="@+id/chat_request"
android:layout_alignRight="@+id/chat_request"
android:layout_marginTop="-15dp"
android:duplicateParentState="true"
/>
</RelativeLayout>
答案 0 :(得分:0)
试试这个:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/chatbubble">
<Button
android:layout_height="60dp"
android:layout_width="60dp"
android:id="@+id/chat_request"
android:duplicateParentState="true"
android:enabled="false"
android:layout_alignWithParentIfMissing="false"
android:focusable="false"
android:background="@color/transparent"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/request_counter"
android:layout_alignParentRight="false"
android:layout_alignParentEnd="false"
android:background="@drawable/count_background"
android:textColor="@color/white"
android:layout_gravity="bottom|right"
android:layout_below="@+id/chat_request"
android:layout_alignRight="@+id/chat_request"
android:layout_marginTop="-15dp"
android:duplicateParentState="true"
/>
</RelativeLayout>
答案 1 :(得分:0)
这是因为我使用的是Button元素。 Button始终取代任何其他元素,无论它位于RelativeLayout上。
然而,当我将该元素更改为ImageButton时,它采用了我期望的行为:它在布局中的前一个UI元素上方重叠,如果它位于XML中这些元素的下面。