Android: Ändern Sie die absolute Position einer Ansicht programmgesteuert

Wenn Sie ein AbsoluteLayout (ich weiß, es ist veraltet, aber es war der einzige Weg zur Lösung meiner problem) Sie können die childViews der tag android:layout_x und android:layout_y Ihre absolute position innerhalb der AbsoluteLayout.

Aber ich möchte nicht diese Informationen in der xml, weil ich weiß nur das Sie zur Laufzeit. Also, wie kann ich diese Parameter zur Laufzeit programmgesteuert? Ich sehe keine Methode, die auf den Blick wie view.setLayoutX(int x) oder so etwas.

Hier ist meine XML-Datei funktioniert einwandfrei, wenn ich die layout_x und layout_y Werte:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/myLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
     android:src="@drawable/myImageView"
     android:layout_width="1298px"
     android:layout_height="945px"
     android:layout_x="0px"
  android:layout_y="0px" />
 <Button  
  android:id="@+id/myButton1"
  android:text="23"
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:layout_x="50px"
  android:layout_y="300px"
  android:tag="23"/>


 <Button  
  android:id="@+id/myButton2"
  android:text="48"
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  android:layout_x="50px"
  android:layout_y="300px"
  android:tag="48"/>

</AbsoluteLayout>

In der Tat, ich möchte nicht eine beliebige Taste innerhalb der xml-Datei mehr, sondern eher um etwas Informationen über remote und Schaltflächen hinzu, die je auf diese Informationen.

Ist hier der Teil, den code verwende ich so in meinen onCreateMethod hinzufügen die folgenden Tasten:

  for (MyRemoteObject remoteObject: list)  {
   Button button = new Button(this);
   button.setOnClickListener (listener);
   button.setTag(remoteObject.id);
   button.setText(remoteObject.id);
   //button.setLayoutX(remoteObject.x) ????
   //button.setLayoutY(remoteObject.y) ????
   myLayout.addView(button);
  }

InformationsquelleAutor der Frage Pascal Klein | 2010-08-09

Schreibe einen Kommentar