Ich möchte eine Schaltfläche in einer Android-Anwendung an einem bestimmten Punkt sagen (x, y), der Punkt wird zur Laufzeit generiert werden. Wie kann ich es erreichen?
Antworten:
0 für die Antwort № 1Dafür können Sie verwenden AbsoluteLayout
Das kann Ihnen helfen, die genaue Position der Ansicht durch die Eigenschaft der Ansicht einzustellen android:layout_x
und android:layout_y
AKTUALISIEREN
Um x, y auf Laufzeit hinzuzufügen, überprüfen Sie diese,
0 für die Antwort № 2
Dafür verwenden Sie unter Code ...
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:layout_width="50dip"
android:layout_height="50dip"
android:id="@+id/button"/>
</RelativeLayout>
In diesem Code nur hinzufügen android:layout_margin
indem Sie Rand verwenden, können Sie Ihren Knopf entsprechend Ihrer Anforderung einstellen .....
0 für die Antwort № 3
Wenn Sie ein LinearLayout verwenden:
Button button = (Button)findViewById(R.id.my_button);
LinearLayout.LayoutParams linParams =
(LinearLayout.LayoutParams)button.getLayoutParams();
linParams.setMargins(left, top, right, bottom);
button.setLayoutParams(linParams);
0 für die Antwort № 4
Ein ... kreieren RelativLayout Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:id="@+id/mybutton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</RelativeLayout>
Dann in deinem Code:
int posX = 10, posY = 20;
Button b = findViewById(R.id.mybutton);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(posX, posY, 0, 0);
b.setLayoutParams(layoutParams);