簡體   English   中英

Android Studio中的形狀?

[英]Shapes in Android Studio?

我想在Android Studio中繪制圓形,半圓形和三角形。 有沒有簡單的方法可以在android studio中繪制形狀,還是應該為每個形狀使用圖像?

我嘗試將此作為可繪制的源

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"   android:shape="oval" >
<solid android:color="#000000"/>

但它不足以創建精確的圓形和其他形狀的外部形狀。 還有其他方法嗎?

半圓 三角形 圈

您可以將以下課程用於繪制半圈

public class MyView extends View {


    public MyView(Context context) {

        super(context);

        // TODO Auto-generated constructor stub

    }


    @Override

    protected void onDraw(Canvas canvas) {

        // TODO Auto-generated method stub

        super.onDraw(canvas);

        float width = (float) getWidth();

        float height = (float) getHeight();

        float radius;


        if (width > height) {

            radius = height / 4;

        } else {

            radius = width / 4;

        }


        Path path = new Path();

        path.addCircle(width / 2,

                height / 2, radius,

                Path.Direction.CW);


        Paint paint = new Paint();

        paint.setColor(Color.BLACK);

        paint.setStrokeWidth(5);


        paint.setStyle(Paint.Style.FILL);

        float center_x, center_y;
        final RectF oval = new RectF();


        paint.setStyle(Paint.Style.STROKE);
        center_x = width / 2;

        center_y = height / 2;

        oval.set(center_x - radius,

                center_y - radius,

                center_x + radius,

                center_y + radius);

        canvas.drawArc(oval, 90, 180, false, paint);


    }

}

輸出量

在此處輸入圖片說明

有兩種選擇;

1.通過代碼

您需要定義自己的drawable(不是View,因為View對於該任務很繁瑣,為了獲得最佳性能,請定義Drawable的繼承者),然后在onDraw方法中繪制圖形。 例如:

public class MyDrawable extends Drawable {
    @Override
    public void onDraw(Canvas canvas) {
        //call method from canvas to draw your figures or whatever, 
        //provide them by your custom paint (but please don't create them here)
    }
}

2.通過XML

當支持庫23.2發布時,所有開發人員都可以通過api級別> 9的所有應用程序獲得矢量可繪制對象。 因此,您可以下一步。

  1. 連接支持向量可繪制對象( 在此描述如何實現
  2. 在單獨的路徑標簽中創建每個圖形( 在此描述如何操作
  3. 將路徑添加到xml中的組標記。 您將擁有類似的東西:

      <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="64dp" android:width="64dp" android:viewportHeight="600" android:viewportWidth="600" > <group> <path android:pathData="some path data" /> <path android:pathData="some path data" /> <path android:pathData="some path data" /> </group> </vector> 

就這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM