绘制圆和填充 color 在 android 不使用canvas

发布时间: 2016/9/17 0:37:03
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我使用的 Android studio 2.1.2 创建 android 的应用程序。在我 application ,我需要创建充满红圈 colorandroid view 。我尝试通过使用 canvas 喜欢,

protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            int x = getWidth();
            int y = getHeight();
            int radius = x / 2;
            Paint paint = new Paint();
            paint.setStyle(Paint.Style.FILL);
            paint.setColor(Color.WHITE);
            paint.setStrokeWidth(2);
            canvas.drawPaint(paint);
            paint.setColor(Color.parseColor("#CD5C5C"));
            canvas.drawCircle(x / 2, y / 2, radius, paint);
        }

onCreate() ,我添加了,

setContentView(new SampleView(this));

其中 SampleView 是一个类,包含 onDraw() 。有没有什么替代的办法来做同样的事情,而无需使用 canvas 吗?

解决方法 1:

您可以创建 shape xml 并将它分配给线性layout

像这样的一些事

   <LinearLayout
            android:background="@drawable/circle_border"
            android:layout_width="100dp"
            android:layout_height="100dp">

   </LinearLayout>



<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="false">
         <shape android:shape="oval">
            <solid android:color="@color/red" />
         </shape>
     </item>
</selector>

这将绘制一个圆

希望这有助于

官方微信
官方QQ群
31647020