我有一个RelativeLayout
背景颜色为蓝色的容器。在它的内部,我有一个 TextView 元素,但由于某种原因,背景呈现在我的文本之上,而不是在其后面。
这是我的代码:
<RelativeLayout
android:id="@+id/my_widget"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="130dp"
android:layout_height="130dp"
android:background="@drawable/layout_bg">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="?"
android:textSize="80dp"
/>
</LinearLayout>
</RelativeLayout>
我的背景
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00aaff"/>
<corners android:radius="15dp"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
结果:
将任何颜色设置为 TextView,如下所示:
这是由于 Android 默认的文本前景色造成的。
将任何 TextColor 设置为文本视图。
选项 1:使用 FrameLayout 而不是相对布局。
选项 2:尝试在子布局中使用标高。