可以用absoluteLayout动态设置View的位置
XML文件
<RelativeLayout
android:layout_width="400px"
android:layout_height="400px">
<ImageView
android:id="@+id/pc_device_item"
android:layout_width="200px"
android:layout_height="200px"
android:background="@drawable/leaves_pc_selected" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:visibility="gone"/>
<ImageView
android:layout_width="200px"
android:layout_height="200px"
android:background="@drawable/leaves_tv_selected" android:id="@+id/tv_device_item" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:visibility="gone"/>
<AbsoluteLayout android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_width="fill_parent" android:layout_height="fill_parent" >
<ImageView android:layout_height="200px" android:layout_width="200px"
android:id="@+id/sign" android:background="@drawable/sign"
android:visibility="invisible"></ImageView>
</AbsoluteLayout>
<ImageView android:layout_alignParentRight="true" android:background="@drawable/leaves_pad_selected" android:id="@+id/pad_device_item" android:layout_height="200px" android:layout_width="200px" android:layout_alignParentTop="true" android:visibility="gone"></ImageView>
<ImageView android:background="@drawable/leaves_phone_selected" android:id="@+id/phone_device_item" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_height="200px" android:layout_width="200px" android:visibility="gone"></ImageView>
</RelativeLayout>
源文件:
ImageView signView=(ImageView)findViewById(R.id.sign);
LayoutParams params = signView.getLayoutParams();
AbsoluteLayout.LayoutParams new_params = new AbsoluteLayout.LayoutParams(params.width, params.height,200, 0);
signView.setLayoutParams(new_params);
设置View的绝对坐标为200,0
XML文件
<RelativeLayout
android:layout_width="400px"
android:layout_height="400px">
<ImageView
android:id="@+id/pc_device_item"
android:layout_width="200px"
android:layout_height="200px"
android:background="@drawable/leaves_pc_selected" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:visibility="gone"/>
<ImageView
android:layout_width="200px"
android:layout_height="200px"
android:background="@drawable/leaves_tv_selected" android:id="@+id/tv_device_item" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:visibility="gone"/>
<AbsoluteLayout android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_width="fill_parent" android:layout_height="fill_parent" >
<ImageView android:layout_height="200px" android:layout_width="200px"
android:id="@+id/sign" android:background="@drawable/sign"
android:visibility="invisible"></ImageView>
</AbsoluteLayout>
<ImageView android:layout_alignParentRight="true" android:background="@drawable/leaves_pad_selected" android:id="@+id/pad_device_item" android:layout_height="200px" android:layout_width="200px" android:layout_alignParentTop="true" android:visibility="gone"></ImageView>
<ImageView android:background="@drawable/leaves_phone_selected" android:id="@+id/phone_device_item" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_height="200px" android:layout_width="200px" android:visibility="gone"></ImageView>
</RelativeLayout>
源文件:
ImageView signView=(ImageView)findViewById(R.id.sign);
LayoutParams params = signView.getLayoutParams();
AbsoluteLayout.LayoutParams new_params = new AbsoluteLayout.LayoutParams(params.width, params.height,200, 0);
signView.setLayoutParams(new_params);
设置View的绝对坐标为200,0