Guten Tag!
Also ich bin neu hier und ebenfalls neu beim Andtroid-basteln.
Meine Programmierkenntnisse beschränken sich fast ausschließlich auf Delphi - ich bin also kein Programmieranfänger aber ein absoluter Javafrischling! Der Umstieg auf Java und Android ist da schon etwas gewöhnungsbedürtig - ist aber spannend und interessant. Ich habe bereits ein Anfänger Android-Buch und ein Anfänger-Java-Tutorium durchgrackert, programmieren lernt man aber nur beim Tun - und darum bin ich hier.
Und hier meine ersten 2 Fragen:
1) Ist es korrekt, dass sämtliche Instanzen, insbesondere auch jene, welche ich mit "new" erzeugt habe, beim Beenden des Programmes vom Programmierer nicht mehr freigegen werden müssen? Also ich muss mich nie zu keinem Zeitpunkt über eine Freigabe des Speichers kümmern?
2) Mein erste App soll beim Start mehrere Bilder pixelgenau auf dem Bildschirm an verschiedenen Stellen positionieren ( Die Kontrolle über die Bildschirmabmessungen erhalte ich über die display.getWidth() u.s.w.-Methoden - das passt soweit). Diese Bilder sollen mit dem onTouch-Event dann nachträglich verschoben werden können.
Hierzu lade ich dynamisch in der onCreate-Methode die z.B. 5 Bilder in 5 ImageViews. Diese ImageViews liegen in einem FrameLayout. Nun kann ich aber nicht die Position der ImageViews in der onCreate-Methode festlegen, da die Methode imageView1.layout(l,t,r,b) im onCreate noch nicht funktioniert. Wie setze ich die Views an meine gewollten Koordinaten?
Ich hoff, ich hab mich halbwegs klar artikuliert?!
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
LayoutParams biParam = new LayoutParams(breite, hoehe);
ImageView b12 = new ImageView(this);
b12.setLayoutParams(biParam);
b12.setImageBitmap(bmp12);
frameLayout1.addView(b12);
b12.layout(100, 100, 200, 200); // DAS GEHT NICHT DAS BILD IST IMMER GANZ LINKS OBEN!!
...
}
Alles anzeigen
Vielen Dank für gute Anrworten
Martin