这是我的xml文件代码
<?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="#F8F8F8">
<RelativeLayout
android:id="@+id/relative_buttons"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_centerHorizontal="true"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_5"
android:gravity="center"
android:orientation="horizontal">
<com.hyper.barcodeapp.customClass.CustomButton
android:id="@+id/btn_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/home_sel"
android:text="@string/home"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="@dimen/sp_16" />
<FrameLayout
android:id="@+id/frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/btn_home"
android:layout_weight="1">
<com.hyper.barcodeapp.customClass.CustomButton
android:id="@+id/btn_promotions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/promo"
android:text="@string/promotions"
android:textAllCaps="false"
android:textColor="@android:color/tab_indicator_text"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/txt_badge"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignRight="@id/btn_promotions"
android:layout_alignTop="@id/btn_promotions"
android:layout_gravity="top|right"
android:layout_marginRight="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_1"
android:background="@drawable/badge_circle"
android:gravity="center"
android:padding="@dimen/dp_3"
android:text="10"
android:textSize="5sp" />
</FrameLayout>
<com.hyper.barcodeapp.customClass.CustomButton
android:id="@+id/btn_search_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/frame"
android:layout_weight="1"
android:background="@drawable/search"
android:text="@string/search_code"
android:textAllCaps="false"
android:textColor="@android:color/tab_indicator_text"
android:textSize="@dimen/sp_16" />
</RelativeLayout>
<FrameLayout
android:id="@+id/child_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/relative_buttons"
android:layout_marginTop="@dimen/dp_5"
android:layout_weight="8">
</FrameLayout>
</RelativeLayout>
清楚地查看代码,如果“txt_badge”是一个按钮,我可以在“btn_promotions”上看到像图标一样的徽章,但是如果我使用 Textview 而不是按钮,布局中没有显示“txt_badge”,这可能是什么问题?
这是 badge_circle 代码
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dip" />
<solid android:color="@color/tab_button_text_color_not_clicked" />
<stroke
android:width="1dip"
android:color="#FFF" />
<padding
android:bottom="5dip"
android:left="5dip"
android:right="5dip"
android:top="5dip" />
</shape>
最佳答案
将两者放在一个LinearLayout上。 Framelayout 可能只有 1 个 subview
<FrameLayout
android:id="@+id/frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/btn_home"
android:layout_weight="1">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.hyper.barcodeapp.customClass.CustomButton
android:id="@+id/btn_promotions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/promo"
android:text="@string/promotions"
android:textAllCaps="false"
android:textColor="@android:color/tab_indicator_text"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/txt_badge"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignRight="@id/btn_promotions"
android:layout_alignTop="@id/btn_promotions"
android:layout_gravity="top|right"
android:layout_marginRight="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_1"
android:background="@drawable/badge_circle"
android:gravity="center"
android:padding="@dimen/dp_3"
android:text="10"
android:textSize="5sp" />
</RelativeLayout>
</FrameLayout>
关于按钮上的 Android 徽章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32006414/