Android: how to change layout_x, layout_y in an AbsoluteLayout dynamically?

陌路散爱 提交于 2019-12-01 05:18:46

问题


I have a fixed background-image and showing another image on top of it. Here is the 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>

Now, how can I change the layout_x, layout_y of image-id search_pin from code?


回答1:


Try this:

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



回答2:


Absolute Layout is deprecated.

For this case, i would suggest to use FrameLayout.

One more thing, dp or dip is more preferrable other than px.

As android support multiple screen resolutions, its not good to mention fixed co-ordinates for a particular widget.




回答3:


You must use Absolutelayout intead of relativelayout:

android:layout_x="100dp" not px

android:layout_y="100dp"

both used for absolutelayout.



来源:https://stackoverflow.com/questions/7766321/android-how-to-change-layout-x-layout-y-in-an-absolutelayout-dynamically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!