/ / zmiana miejsca przycisku za pomocą funkcji układu w układzie absolutnym - android, układ, przycisk, pozycjonowanie, pozycja css

zmiana miejsca przycisku za pomocą funkcji układu w układzie absolutnym - Android, układ, przycisk, pozycjonowanie, pozycja css

Próbuję umieścić przycisk w innym miejscu, używając układu absolutnego. Używam następującego pliku xml:

<?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>

plik Java zawiera następujący kod:

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

ale nic się nie dzieje („200” to tylko przykład. czy ktoś może mi powiedzieć, co robię źle.

Z góry dziękuję.

Odpowiedzi:

0 dla odpowiedzi № 1

To, co robisz źle, to używanie AbsoluteLayout. :) Poważnie, naprawdę nie powinieneś tego używać; zamiast tego spróbuj użyć FrameLayout.

Jednak, aby odpowiedzieć na twoje pytanie, nie powinieneś nazywać go układem, zrób to zamiast tego:

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

Lub mniej kodu, możesz to zrobić zamiast tego:

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