Android: как динамически изменить layout_x, layout_y в AbsoluteLayout? - PullRequest
4 голосов
/ 14 октября 2011

У меня исправлено фоновое изображение, и поверх него показано другое изображение. Вот это xml-

<AbsoluteLayout 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:orientation="vertical" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"
  >
 <ImageView 
     android:id="@+id/test_image"
     android:src="@drawable/lpch_1"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
        />
<ImageView 
     android:id="@+id/search_pin"
     android:src="@drawable/pin"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_y="100px" 
     android:layout_x="100px"
        />  
 </AbsoluteLayout>

Теперь, как я могу изменить layout_x, layout_y image-id search_pin из кода?

Ответы [ 3 ]

5 голосов
/ 14 октября 2011

Попробуйте это:

AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) test_image.getLayoutParams());
params.x = 100;
params.y = 100;
test_image.setLayoutParams(params); 
3 голосов
/ 14 октября 2011

Absolute Layout устарела.

В этом случае я бы предложил использовать FrameLayout .

Еще одна вещь, dp или dip предпочтительнее, чем px .

Поскольку android поддерживает несколько разрешений экрана, не стоит упоминать фиксированные координаты для определенного виджета.

0 голосов
/ 30 сентября 2015

Вы должны использовать Absolutelayout целое число relativelayout:

android:layout_x="100dp" не px

android:layout_y="100dp"

оба используются дляabsolutelayout.

...