Advertisement
Guest User

Untitled

a guest
May 24th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. import android.support.v7.app.AppCompatActivity;
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.widget.EditText;
  5. import android.widget.ImageView;
  6. import android.widget.TextView;
  7.  
  8. public class MainActivity extends AppCompatActivity {
  9.  
  10. private EditText myTextEdit;
  11. private myImageView myImage;
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17. myTextEdit = (EditText) findViewById(R.id.textFieldForNum);
  18. myImage = (myImageView) findViewById(R.id.imageView);
  19. }
  20.  
  21. public void drawMethod(View view) {
  22. myImage.enableDrawing(Integer.parseInt(myTextEdit.getText().toString()));
  23. myImage.invalidate();
  24.  
  25. }
  26. }
  27.  
  28. import android.content.Context;
  29. import android.graphics.Canvas;
  30. import android.graphics.Color;
  31. import android.graphics.Paint;
  32. import android.util.AttributeSet;
  33. import android.widget.ImageView;
  34.  
  35. public class myImageView extends ImageView {
  36.  
  37. private Paint myPaint;
  38. private int pointX;
  39. private int pointY;
  40. private int length;
  41. private boolean toDraw;
  42.  
  43. public myImageView(Context context, AttributeSet attrs) {
  44. super(context, attrs);
  45. toDraw=false;
  46. myPaint = new Paint();
  47. pointX = 700;
  48. pointY = 900;
  49. }
  50.  
  51. @Override
  52. protected void onDraw(Canvas canvas){
  53. super.onDraw(canvas);
  54. if(toDraw) {
  55. drawRecursiveSideCross(canvas,pointX, pointY, length);
  56. }
  57. }
  58.  
  59. public void enableDrawing(int length){
  60. this.length=length;
  61. toDraw=true;
  62. }
  63.  
  64. public void drawRecursiveSideCross(Canvas canvas,int pointX, int pointY, int length){
  65. myPaint.setColor(Color.RED);
  66. myPaint.setStrokeWidth(5);
  67. if(length>=50) {
  68. canvas.drawLine(pointX, pointY, pointX, pointY - length, myPaint);
  69. canvas.drawLine(pointX, pointY, pointX-3*length/4, pointY+length, myPaint);
  70. canvas.drawLine(pointX, pointY, pointX+3*length/4, pointY+length, myPaint);
  71. drawRecursiveStraightCross(canvas, pointX, pointY - length, length/2);
  72. drawRecursiveStraightCross(canvas, pointX-3*length/4, pointY+length, length/2);
  73. drawRecursiveStraightCross(canvas, pointX+3*length/4, pointY+length, length/2);
  74. } else return;
  75. }
  76.  
  77. public void drawRecursiveStraightCross(Canvas canvas, int pointX, int pointY, int length){
  78. myPaint.setColor(Color.BLUE);
  79. myPaint.setStrokeWidth(5);
  80. if(length>=50){
  81. canvas.drawLine(pointX, pointY, pointX, pointY-length, myPaint);
  82. canvas.drawLine(pointX, pointY, pointX, pointY+length, myPaint);
  83. canvas.drawLine(pointX, pointY, pointX-length, pointY, myPaint);
  84. canvas.drawLine(pointX, pointY, pointX+length, pointY, myPaint);
  85. drawRecursiveSideCross(canvas, pointX, pointY-length, length/2);
  86. drawRecursiveSideCross(canvas, pointX, pointY+length, length/2);
  87. drawRecursiveSideCross(canvas, pointX-length, pointY, length/2);
  88. drawRecursiveSideCross(canvas, pointX+length, pointY, length/2);
  89. } else return;
  90. }
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement