Android: setX() oder setTranslationX() nicht die position der benachbarten anzeigen
Ich habe 2 buttons in das folgende layout. Buttons sind so eingestellt, dass die linke Taste bleibt immer an der linken Seite der rechten Taste
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/right_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right Button"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
<Button
android:id="@+id/left_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left Button"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/right_btn"/>
</RelativeLayout>
Aber, In meiner Tätigkeit, wenn ich die position rechts-Taste, Links-Taste, position bleibt gleich.
Button rightBtn = (Button) findViewById(R.id.right_btn);
rightBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
view.setTranslationX(100);
}
});
Habe ich auch setTranslationX(100)
sowie setX(500)
nach rechts-Taste, aber den linken button, position bleibt gleich. Ich bin mir nicht sicher aber kam, zu wissen, dass setTranslationX
nur ändern Sie das Aussehen der Schaltfläche, sondern das Objekt bleibt an der gleichen position.
Gibt es eine Eigenschaft, um die position rechts-Taste, so dass die linke Taste-position auch ändert, so dass es immer Links-rechts-Taste.
Du musst angemeldet sein, um einen Kommentar abzugeben.
when I change the position of right button, the left button position remains same.
Ist, weil Sie explizit verschieben Sie den rechten Knopf der x-Achse nicht das ganze layout, also die Rechte Taste ist nur übersetzt in die position, die Sie angeben, und nicht die Links-Taste als auch.
Lösung:
Können Sie übersetzen Sie die linke Taste, wenn Sie die rechts-Taste verschoben gleichen translationx Pixel.
Ich glaube, eines der Probleme, die Sie zu haben scheinen ist, dass Sie
in einem RelativeLayout was bedeutet, du bist Art von mit es wie ein AbsoluteLayout (die in sich selbst ist veraltet).
Versuchen, Ihre Strategie zu überdenken.
which in itself is deprecated
.