Android:如何动态更改AbsoluteLayout中的layout_x,layout_y?

时间:2011-10-14 10:24:34

标签: android android-layout absolutelayout

我有一个固定的背景图像,并在其上显示另一个图像。 这是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>

现在,如何从代码中更改image-id search_pin的layout_x,layout_y?

3 个答案:

答案 0 :(得分:5)

试试这个:

AbsoluteLayout.LayoutParams params = ((AbsoluteLayout.LayoutParams) test_image.getLayoutParams());
params.x = 100;
params.y = 100;
test_image.setLayoutParams(params); 

答案 1 :(得分:3)

不推荐使用绝对布局。

对于这种情况,我建议使用 FrameLayout

除了 px 之外, dp dip 更受欢迎。

由于android支持多种屏幕分辨率,因此不得不提及特定小部件的固定坐标。

答案 2 :(得分:0)

您必须使用Absolutelayout的{​​{1}}内容:

relativelayout 不是px

android:layout_x="100dp"

均用于android:layout_y="100dp"