Ich sehe Beiträge, die sagen, dass FrameLayout die Alternative ist, und dass ich Ränder verwenden sollte, um Dinge zu positionieren (dies scheint mir als wild kontra intuitiv, aber ok... wenn es funktioniert, ich werde es nehmen). Allerdings kann ich nicht bekommen, es zu arbeiten, so, ich bin auf der Suche nach Unterstützung.
hier ist mein Code
FrameLayout layout = new FrameLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
Button btn = new Button(this);
btn.setBackgroundResource(R.drawable.btn);
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.setMargins(100,100,100,100);
btn.setLayoutParams(lp); //i've tried with and without this line, no change
layout.addView(btn , lp);
Die Schaltfläche wird bei 0,0 gezeichnet, egal was ich tue. Wenn ich die lp's LayoutParam zu FILL_PARENT ändern, wird die Schaltfläche dann gestreckt, um den gesamten Bildschirm zu nehmen (was Sinn macht).
WIE bringt man sie dazu, an einer anderen Stelle des Bildschirms zu zeichnen, unabhängig davon, was sich dort befindet?
Wie immer, vielen Dank im Voraus.
[EDIT] Es scheint, dass meine Frage nicht ganz klar ist (angesichts der Antworten), also...
Im obigen Code geht es darum, eine Schaltfläche zu erstellen, sie an ein Layout zu übergeben und sie bei 100,100 auf dem Bildschirm zu zeichnen.
Ich bin mir der Tatsache bewusst, dass dies auf verschiedenen Geräten unterschiedliche Dinge bedeuten kann. Damit habe ich kein Problem. Ich brauche einfach eine Möglichkeit, programmatisch und zur Laufzeit ein Element an einer BESTIMMTEN Stelle zu platzieren. Ich möchte mich nicht auf die Schwerkraft (oder die Gesetze der Thermodynamik) verlassen. Ich möchte einfach nur einen Ort angeben und das Element dort erscheinen lassen :)