Android颜色圆形TextView

时间:2014-10-14 17:04:29

标签: android textview

我从数据库中获取颜色,并将其强加于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);

3 个答案:

答案 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);