我从数据库中获取颜色,并将其强加于TextView中。现在我想以圆形的形式显示TextView,但我没有得到圆圈。
drawable cerchio_cat.xml中的XML文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners
android:bottomLeftRadius="30dp"
android:bottomRightRadius="30dp"
android:topLeftRadius="30dp"
android:topRightRadius="30dp" />
<size
android:height="60dp"
android:width="60dp" />
</shape>
的TextView
<TextView
android:id="@+id/color_view"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center_horizontal|center_vertical"
android:background="@drawable/cerchio_cat"
android:textSize="28sp" />
tvCerchio = (TextView) row.findViewById(R.id.color_view);
tvCerchio.setBackgroundColor(d.colore);
答案 0 :(得分:0)
您需要指定android:shape属性,默认值为&#34;矩形&#34;。请参阅http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
答案 1 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid android:color="#F45841" />
<stroke
android:width="2dp"
android:color="#fff" />
</shape>
和TextView
android:background="@drawable/file.xml"
答案 2 :(得分:0)
您无法在XML中设置背景可绘制,然后在代码中设置背景颜色,颜色将替换drawable。
由于您想要从数据库动态分配颜色,最好在代码中创建背景drawable:
ShapeDrawable background = new ShapeDrawable();
background.setShape(new OvalShape()); // or RoundRectShape()
background.getPaint().setColor(d.colore);
tvCerchio = (TextView) row.findViewById(R.id.color_view);
tvCerchio.setBackgroundDrawable(background);