N
newpageart
Neues Mitglied
- 0
Hallo liebe Forumsgemeinde!
Ich habe ein selbst erstelltes ImageView in dem ein Koordinatsystem gezeichnet werden soll. Dies wird mit Hilfe von Canvas gezeichnet.
In diesem ImageView soll der Benutzer jetzt einen oder mehrere Punkte setzen können. Dies wird über das "onTouch"-Event gelöst.
Nun würde gerne die Koordinaten noch zusätzlich in einem TextView anzeigen. Diese Daten sollen dann anschliessend noch weiterverarbeitet werden.
Leider fällt mir keine Lösung ein, wie ich die Daten in das TextView bekomme. Hätte eventuell jemand einen Lösungsansatz?
ImageView :
xml-Datei:
Vielen Danke und schöne Grüße,
Tom
Ich habe ein selbst erstelltes ImageView in dem ein Koordinatsystem gezeichnet werden soll. Dies wird mit Hilfe von Canvas gezeichnet.
In diesem ImageView soll der Benutzer jetzt einen oder mehrere Punkte setzen können. Dies wird über das "onTouch"-Event gelöst.
Nun würde gerne die Koordinaten noch zusätzlich in einem TextView anzeigen. Diese Daten sollen dann anschliessend noch weiterverarbeitet werden.
Leider fällt mir keine Lösung ein, wie ich die Daten in das TextView bekomme. Hätte eventuell jemand einen Lösungsansatz?
ImageView :
Code:
public class MyCustomView extends ImageView implements OnTouchListener {
Bitmap bitmap;
Canvas bitmapCanvas;
Paint paint = new Paint();
public MyCustomView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyCustomView(Context context) {
super(context);
init();
}
public void init() {
this.setOnTouchListener(this);
setFocusable(true);
setFocusableInTouchMode(true);
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setStyle(Style.FILL_AND_STROKE);
int width = 200;
int height = 200;
bitmap = Bitmap.createBitmap (width,height,Config.RGB_565);
bitmapCanvas = new Canvas();
bitmapCanvas.setBitmap(bitmap);
bitmapCanvas.drawColor(Color.CYAN);
bitmapCanvas.drawText("Test", 10, 10, paint);
bitmapCanvas.drawLine(0, 100, 200, 100, paint);
bitmapCanvas.drawLine(100, 0, 100, 200, paint);
this.setImageBitmap(bitmap);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
public boolean onTouch(View view, MotionEvent event)
{
bitmapCanvas.drawCircle(event.getX(), event.getY(), 5, paint);
invalidate();
return true;
}
}
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_height="fill_parent" android:orientation="vertical" android:layout_width="fill_parent">
<de.Koordinaten.MyCustomView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView1" android:text="TextView"></TextView>
<Button android:text="Reset" android:id="@+id/btnReset" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
Tom