Android 画条线的 2 个点

发布时间: 2016/5/29 4:15:10
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

目前我正在开发一个应用程序,将从一个绘制线的位置 point 到另一个与 button 单击 bitmap 。 这里是我的代码在 MainActivity.java 中 ︰

    public class MainActivity extends Activity {
    LineView lineview;
    Button button;

    @Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   //lineview = (LineView)findViewById (R.id.lineView1);
   button = (Button)findViewById(R.id.btnCapture); 
   //lineview.setVisibility(View.INVISIBLE);
   button.setOnClickListener(new OnClickListener() {

       @Override
       public void onClick(View v) {

          // lineview.setVisibility(View.VISIBLE);
       }
   });


 }
}

LineView.java-绘制线条的类

public class LineView extends View {
Paint paint = new Paint();

public LineView(Context context, AttributeSet attrs) {
  super(context, attrs);
  }

public LineView(Context context, AttributeSet attrs, int defstyle) {
super(context, attrs, defstyle );
  }


public LineView(Context context) {
super(context);
paint.setColor(Color.BLACK);
}

@Override
public void onDraw(Canvas canvas) {
    canvas.drawLine(0, 0, 20, 20, paint);
}

}

现在它开始使用从绘制线条定义坐标。我想要条线被画在主要使用中得到宣布的 2 点的坐标 activity 。和函数应该在 onClick 后工作。 在此先感谢。

解决方法 1:

使用自定义视图通过扩展 view 类来实现这一目标 ︰ 让您自定义的类说 LineView 的调用。所以这是线应该是什么样子。

LineView.java

    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;

    public class LineView extends View {
    Paint paint = new Paint();

  public LineView(Context context, AttributeSet attrs) {
      super(context, attrs);
      }

    public LineView(Context context, AttributeSet attrs, int defstyle) {
    super(context, attrs, defstyle );
      }


    public LineView(Context context) {
    super(context);
    paint.setColor(Color.BLACK);
}

@Override
public void onDraw(Canvas canvas) {
        canvas.drawLine(0, 0, 20, 20, paint);
}

}

现在,你必须在你的 mainactivity 中实例化此。你可以使用 java 代码或 xml 。使用 java 代码将看起来像这样 ︰

   import android.app.Activity;
   import android.graphics.Color;
   import android.os.Bundle;

 public class MainActivity extends Activity {
     LineView lineview;
     Button button;

     @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    lineview = (LineView)findViewById (R.id.lineView1);
    button = (Button)findViewById(R.id.button1); 
    lineview.setVisibility(View.INVISIBLE);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            lineview.setVisibility(View.VISIBLE);
        }
    });


  }
}
官方微信
官方QQ群
31647020