gpt4 book ai didi

android - 如何在特定的LinearLayout中添加Canvas?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:01 27 4
gpt4 key购买 nike

我是 android 的新手,但不是 java 的新手。我一直在通过 XML 文件在 android 中设计 UI,在该页面中我有 3 个线性布局,在我的顶部布局(第一个 LinearLayout)中我保留了一些图像,在最后一个布局中我保留了一些按钮,现在我需要放置一个在我的中心布局中使用 Canvas 的圆(红色),我编写了一个单独的类来扩展 View ,在 onDraw(Canvas canvas) 中,我画了一个圆。

package com.project.TargetTrackr3;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.view.View;public class DrawCanvasCircle extends View{    public DrawCanvasCircle(Context mContext) {        super(mContext);    }    public void onDraw(Canvas canvas) {        Paint paint = new Paint();        paint.setStyle(Paint.Style.FILL);        canvas.drawColor(Color.WHITE);        paint.setColor(Color.BLUE);        canvas.drawCircle(20, 20, 15, paint);    }}

现在我必须将这个 Canvas 带到第二个布局,我的 main.xml 如下所示

package com.project.TargetTrackr3;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.ColorFilter;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.View;import android.widget.LinearLayout;public class TargetTrackr3Activity extends Activity {    /** Called when the activity is first created. */      protected LinearLayout ll;      DrawCanvasCircle c;      public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main1); //layouting file         ll = (LinearLayout) findViewById(R.id.LinearLayout_DrawCircle);//This is where i have to bring the canvas        c = new DrawCanvasCircle(this);           ...................................           ................................    }}

最佳答案

这是我为包含您的观点所做的工作。

首先向您的 xml 文件添加一个新的布局,然后您可以检索它,然后您可以像这样添加它:

    DrawCanvasCircle pcc = new DrawCanvasCircle (this);
Bitmap result = Bitmap.createBitmap(25, 25, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(result);
pcc.draw(canvas);
pcc.setLayoutParams(new LayoutParams(25, 25));
mControls.addView(pcc);

在此示例中,mControls 是添加到主 Activity 布局的布局。

关于android - 如何在特定的LinearLayout中添加Canvas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3333749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com