package moodle.wasserwaage; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.graphics.Point; import android.graphics.Rect; import android.view.View; public class Rotation_Zeichnen extends View { Paint paint = new Paint(); Canvas canvas; Point kreismittelpunkt, oben_punkt,links_punkt,kreis_punkt; Rect rechteck_oben = new Rect(50,110,430,160); Rect rechteck_links = new Rect(50,230,100,610); public Rotation_Zeichnen(Context context) { super(context); kreismittelpunkt = new Point(); oben_punkt = new Point(); links_punkt = new Point(); kreis_punkt = new Point(); kreismittelpunkt.x = 300; kreismittelpunkt.y = 400; kreis_punkt.x = 300; kreis_punkt.y = 400; oben_punkt.x = 0; oben_punkt.y = 0; links_punkt.x = 0; links_punkt.y = 0; } @Override protected void onDraw(Canvas canvas) { this.canvas = canvas; // oberes Rechteck paint.setColor(Color.BLACK); paint.setStyle(Style.STROKE); canvas.drawRect(rechteck_oben, paint); paint.setStyle(Style.FILL); paint.setAlpha(10); canvas.drawRect(rechteck_oben, paint); paint.setColor(Color.RED); paint.setStyle(Style.STROKE); canvas.drawRect(rechteck_oben.centerX()-20,rechteck_oben.top, rechteck_oben.centerX()+20, rechteck_oben.bottom,paint); paint.setColor(Color.RED); paint.setStyle(Style.FILL); paint.setAlpha(10); canvas.drawRect(rechteck_oben.centerX()-20,rechteck_oben.top, rechteck_oben.centerX()+20, rechteck_oben.bottom,paint); // linkes Rechteck paint.setColor(Color.BLACK); paint.setStyle(Style.STROKE); canvas.drawRect(rechteck_links, paint); paint.setStyle(Style.FILL); paint.setAlpha(10); canvas.drawRect(rechteck_links, paint); paint.setColor(Color.RED); paint.setStyle(Style.STROKE); canvas.drawRect(rechteck_links.left,rechteck_links.centerY()-20, rechteck_links.right, rechteck_links.centerY()+20,paint); paint.setColor(Color.RED); paint.setStyle(Style.FILL); paint.setAlpha(10); canvas.drawRect(rechteck_links.left,rechteck_links.centerY()-20, rechteck_links.right, rechteck_links.centerY()+20,paint); // Kreise zeichnen paint.setStyle(Style.STROKE); canvas.drawCircle(kreismittelpunkt.x, kreismittelpunkt.y, 180, paint); paint.setStyle(Style.FILL); paint.setAlpha(10); canvas.drawCircle(kreismittelpunkt.x, kreismittelpunkt.y, 180, paint); paint.setStyle(Style.STROKE ); paint.setColor(Color.RED); canvas.drawCircle(kreismittelpunkt.x, kreismittelpunkt.y, 20, paint); paint.setStyle(Style.FILL); paint.setAlpha(10); canvas.drawCircle(kreismittelpunkt.x, kreismittelpunkt.y, 20, paint); //Punkte zeichnen paint.setColor(Color.BLACK); canvas.drawCircle(kreismittelpunkt.x+kreis_punkt.x, kreismittelpunkt.y+kreis_punkt.y, 10, paint); // Kreis-Kreis canvas.drawText(kreis_punkt.x+"°"+"/"+kreis_punkt.y+"°", kreismittelpunkt.x+kreis_punkt.x+20, kreismittelpunkt.y+kreis_punkt.y+5, paint); canvas.drawCircle(rechteck_oben.centerX() + oben_punkt.x,rechteck_oben.centerY() + oben_punkt.y, 15, paint);//rechter-Kreis canvas.drawText(oben_punkt.x+"°", rechteck_oben.centerX() + oben_punkt.x, rechteck_oben.centerY() + oben_punkt.y+45, paint); canvas.drawCircle(rechteck_links.centerX() + links_punkt.x,rechteck_links.centerY() + links_punkt.y, 15, paint); //linker-Kreis canvas.drawText(links_punkt.y+"°", rechteck_links.centerX() + links_punkt.x+40, rechteck_links.centerY() + links_punkt.y+7, paint); } public void refresh(int x, int y, int z){ kreis_punkt.x = z; kreis_punkt.y = y; oben_punkt.x = z; oben_punkt.y = 0; links_punkt.x = 0; links_punkt.y = y; invalidate(); } }