【问题标题】:Creating new CanvasView创建新的 CanvasView
【发布时间】:2017-02-17 15:07:14
【问题描述】:

我是编程初学者...所以也许这个问题对你来说听起来很有趣。 我在 MainActivity 中创建一个新的 CanvasView 时遇到问题,因为它的括号内写了一些东西。 这是我的 MainActivity:

public class MainActivity extends AppCompatActivity {
    CanvasView myView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //the line below doesnt work
        myView = new CanvasView();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void button1(View v){
        CanvasView.l = 400;
        myView.invalidate();
    }
}

这是我的 CanvasView:

public class CanvasView extends View{
    Paint paint = new Paint();
    static int l = 500;

    public CanvasView (Context context, AttributeSet attrs) {
        super(context);
        paint = new Paint();
        paint.setAntiAlias(true);
        paint.setColor(Color.GREEN);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeJoin(Paint.Join.ROUND);
        paint.setStrokeWidth(10);
    }
    @Override
    public void onDraw(final Canvas canvas) {
        canvas.drawLine(100,100,l,100,paint);
    }
}

【问题讨论】:

    标签: android methods main-activity


    【解决方案1】:

    在 super.onCreate 和 setContentView 之后创建你的画布,如下所示

    super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myView = new CanvasView();

    【讨论】:

    • 我不太明白你的第一行是什么意思:“super.onCreate 方法。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2018-01-10
    相关资源
    最近更新 更多