xml - 无法将形状设置为 TextView 的背景
Posted
技术标签:
【中文标题】xml - 无法将形状设置为 TextView 的背景【英文标题】:xml - unable to set shape as background of a TextView 【发布时间】:2018-04-19 16:13:35 【问题描述】:我正在尝试在android中设置一个带有笔划的透明圆圈作为TextView的背景:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<TextView
android:id="@+id/status"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:background="@drawable/decibel_circle"
android:text="30 dB"
android:fontFamily="sans-serif"
android:textColor="@android:color/black"
android:textSize="70dp" />
</RelativeLayout>
这是我要使用的形状,位于 decibel-circle.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:
android:color="#F44336">
</stroke>
<solid android:color="@android:color/transparent"/>
<size
android:
android: />
<corners android:radius="12dp" />
</shape>
</selector>
问题是形状从未显示,无论是在预览中还是在我运行我的应用程序时。 我做错了什么?
【问题讨论】:
【参考方案1】:在您的 decibel-circle.xml
中删除 selector
只需单独使用 shape
只用这个
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:
android:color="#F44336">
</stroke>
<solid android:color="@android:color/transparent"/>
<size
android:
android: />
<corners android:radius="12dp" />
</shape>
【讨论】:
以上是关于xml - 无法将形状设置为 TextView 的背景的主要内容,如果未能解决你的问题,请参考以下文章
可绘制形状上的 setCompoundDrawables 无效
“ArrayAdapter 要求资源 ID 为 TextView”XML 问题
以编程方式将 TextView 设置为 RelativeLayout.CENTER_OF_PARENT