/ / Platzwechsel der Schaltfläche mit Layoutfunktion im absoluten Layout - Android, Layout, Button, Positionierung, CSS-Position

Ändern des Ortes der Schaltfläche mit Layout-Funktion im absoluten Layout - Android, Layout, Button, Positionierung, CSS-Position

Ich versuche einen Button an einem anderen Ort zu platzieren, indem ich das absolute Layout verwende. Ich verwende die folgende XML-Datei:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bcgrd">
<Button
android:id="@+id/start_challenge"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = "Start Challenge"
android:textColor= "@color/light_gray"
android:background="@color/background">
</Button>
</AbsoluteLayout>

Die Java-Datei enthält den folgenden Code:

    Button start_it = (Button)findViewById(R.id.start_challenge);
start_it.layout(200, 200, 200, 200);

aber nichts passiert (die "200er" sind nur für das beispiel. kann mir bitte jemand sagen was ich falsch mache.

Danke im Voraus.

Antworten:

0 für die Antwort № 1

Was du falsch machst, ist AbsoluteLayout. Ernsthaft, du solltest es wirklich nicht benutzen; Versuchen Sie stattdessen, ein FrameLayout zu verwenden.

Um jedoch Ihre Frage zu beantworten, sollten Sie das Layout nicht aufrufen, sondern dies tun:

AbsoluteLayout.LayoutParams params = (AbsoluteLayout.LayoutParams)start_it.getLayoutParams();
params.x = 200;
params.y = 200;
start_it.setLayoutParams(params);

Oder mit weniger Code können Sie dies stattdessen tun:

start_it.setLayoutParams(new AbsoluteLayout.LayoutParams(
start_it.getWidth(), start_it.getHeight(), 200, 200));