Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.ImageView;
- import android.widget.TextView;
- public class MainActivity extends AppCompatActivity {
- private EditText myTextEdit;
- private myImageView myImage;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- myTextEdit = (EditText) findViewById(R.id.textFieldForNum);
- myImage = (myImageView) findViewById(R.id.imageView);
- }
- public void drawMethod(View view) {
- myImage.enableDrawing(Integer.parseInt(myTextEdit.getText().toString()));
- myImage.invalidate();
- }
- }
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.util.AttributeSet;
- import android.widget.ImageView;
- public class myImageView extends ImageView {
- private Paint myPaint;
- private int pointX;
- private int pointY;
- private int length;
- private boolean toDraw;
- public myImageView(Context context, AttributeSet attrs) {
- super(context, attrs);
- toDraw=false;
- myPaint = new Paint();
- pointX = 700;
- pointY = 900;
- }
- @Override
- protected void onDraw(Canvas canvas){
- super.onDraw(canvas);
- if(toDraw) {
- drawRecursiveSideCross(canvas,pointX, pointY, length);
- }
- }
- public void enableDrawing(int length){
- this.length=length;
- toDraw=true;
- }
- public void drawRecursiveSideCross(Canvas canvas,int pointX, int pointY, int length){
- myPaint.setColor(Color.RED);
- myPaint.setStrokeWidth(5);
- if(length>=50) {
- canvas.drawLine(pointX, pointY, pointX, pointY - length, myPaint);
- canvas.drawLine(pointX, pointY, pointX-3*length/4, pointY+length, myPaint);
- canvas.drawLine(pointX, pointY, pointX+3*length/4, pointY+length, myPaint);
- drawRecursiveStraightCross(canvas, pointX, pointY - length, length/2);
- drawRecursiveStraightCross(canvas, pointX-3*length/4, pointY+length, length/2);
- drawRecursiveStraightCross(canvas, pointX+3*length/4, pointY+length, length/2);
- } else return;
- }
- public void drawRecursiveStraightCross(Canvas canvas, int pointX, int pointY, int length){
- myPaint.setColor(Color.BLUE);
- myPaint.setStrokeWidth(5);
- if(length>=50){
- canvas.drawLine(pointX, pointY, pointX, pointY-length, myPaint);
- canvas.drawLine(pointX, pointY, pointX, pointY+length, myPaint);
- canvas.drawLine(pointX, pointY, pointX-length, pointY, myPaint);
- canvas.drawLine(pointX, pointY, pointX+length, pointY, myPaint);
- drawRecursiveSideCross(canvas, pointX, pointY-length, length/2);
- drawRecursiveSideCross(canvas, pointX, pointY+length, length/2);
- drawRecursiveSideCross(canvas, pointX-length, pointY, length/2);
- drawRecursiveSideCross(canvas, pointX+length, pointY, length/2);
- } else return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement