用Java类Android绘制一条线

时间:2016-03-22 10:18:44

标签: java android canvas paint picturebox

我是Android(Java)新手。 我想用这画一条线:

public void drawAline(int x1,int y1, int x2, int y2){
        Canvas canvas=new Canvas();
        paint.setColor(Color.BLACK);
        canvas.drawLine(x1,y1,x2,y2,paint);
    }

paint.setColor正在运行,但它没有画线:

呼叫:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        drawView = new DrawView(this);
        drawView.setBackgroundColor(Color.RED);
        drawView.drawAline(0,10,1000,10);

        setContentView(drawView);

有什么问题?

谢谢!

亲切的问候

丹尼尔

2 个答案:

答案 0 :(得分:2)

绘制一条线然后使用此代码简单地绘制线

public class MainActivity extends Activity {

DrawLine drawLine;

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    drawLine = new DrawLine(this);

    drawLine.setBackgroundColor(Color.CYAN);

    setContentView(drawLine);
  }

    class DrawLine extends View {
        Paint paint = new Paint();
        public DrawLine(Context context) {
            super(context);
            paint.setColor(Color.BLACK);
        }

        @Override
        public void onDraw(Canvas canvas) {
            canvas.drawLine(50, 100, 600, 600, paint);
            canvas.drawLine(50, 550, 770, 0, paint);
        }

    }
}

答案 1 :(得分:2)

你不能像你想要的那样去做。基本上在android中每个视图,即按钮或图像或EditText都在xml文件中定义,这些文件将连接到您的java文件(您也可以在java文件中定义视图)。在您的情况下,如果您想绘制一条线,例如将线条视为图像。你可以像下面这样做。

1)首先创建一个扩展ImageView并覆盖onDraw()方法的类。

2)然后在xml文件中定义视图

Java类

public class MainActivity extends Activity{
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.custom_view);

}
}

custom_view.xml文件

url: "path?param1&param2"

<强> MainActivity.java

url: "path?{param1:any}&{param2:any}"

希望这有用。 THANKYOU