2011-06-20 9 views
3

私はAbsoluteLayoutの中に2つのImageViewを持っています。Android - 画像のX、Yをプログラムで設定する

<AbsoluteLayout android:id="@+id/AbsoluteLayout01" 
android:layout_width="fill_parent" android:background="@drawable/whitebackground" 
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 

<ImageView android:id="@+id/floorPlanBackgroundImage" 
    android:src="@drawable/ic_tab_lights_gray" 
    android:scaleType="center" 
    android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView> 

<ImageView android:id="@+id/fpLight" 
    android:src="@drawable/ic_tab_lights_gray" 
    android:scaleType="center" android:layout_x="50px" android:layout_y="50px" 
    android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView> 


</AbsoluteLayout> 

floorPlanBackgroundImageは、800×600のサイズの画像から動的に設定されます。缶はその周りをスクロールできます。

私の2番目のイメージfpLightは、部屋のライトを表しています。それは小さな20x20画像です。私がする必要があるのは、layout_x & layout_yプロパティをコード内で変更することですが、ImageViewでそれを設定する方法はありません。私はこのような何かを期待したい

...

fpLight.setLayoutX( "55×")。

方法はありますか?

答えて

7

あなたは使用する必要があります:優先xとyと

AbsoluteLayout.LayoutParams param = new AbsoluteLayout.LayoutParams(int width, int height, int x, int y) 

レイアウトパラメータオブジェクトをし、推奨されていません

fpLight.setLayoutParams(param); 

AbsoluteLayoutしてfpLightの画像に設定し

あなたがすべき代わりにRelativeLayoutを使用してください。

例:

あなたはpostionであなたの画面上のサイズ50x60のImageViewのをたいと(70x80)

// RelativeLayout. though you can use xml RelativeLayout here too by `findViewById()` 
RelativeLayout relativeLayout = new RelativeLayout(this); 
// ImageView 
ImageView imageView = new ImageView(this); 

// Setting layout params to our RelativeLayout 
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(50, 60); 

// Setting position of our ImageView 
layoutParams.leftMargin = 70; 
layoutParams.topMargin = 80; 

// Finally Adding the imageView to RelativeLayout and its position 
relativeLayout.addView(imageView, layoutParams); 
4
yourImageView.setX(floatXcoord); 
yourImageView.setY(floatYcoord); 
関連する問題