在我的应用程序中,我有一个很大的图像视图' A'和六个小的图像视图s1,s2,s3,s4,s5,s6,最初用一些绘图设置所有图像视图。
当拖动小图像(s1,s2等)并放在大图像视图上时,' A'然后用相应的图像替换它。 例如,当将BALL图像拖到BAT图像上然后BAT图像正在用BALL图像替换时,Imageview A有BAT图像和imageview s1有BALL图像。
我的要求是当我将BALL图像拖到BAT图像上时,BAT图像应该在那里,BALL图像应该重叠(一个在彼此之上)。所以BAT和BALL图像应该在imageview A上。
答案 0 :(得分:1)
您可以使用FrameLayout或RelativeLayout。最后插入的图像视图的顺序将在上面显示。
例如:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/A"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bat"
/>
<ImageView
android:id="@+id/s1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ball"
/>
</RelativeLayout>
答案 1 :(得分:0)
使用以下xml代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/RelativeLayout1"
android:orientation="vertical">
<!-- Add image A -->
<ImageView android:id="@+id/image1"
android:layout_width="800dp"
android:layout_height="400dp"
android:layout_centerInParent="true"
android:src="@drawable/image1" />
<!-- Add smaller image-->
<ImageView android:id="@+id/image2"
android:layout_width="400dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:layout_alignTop="@+id/image1"
android:src="@drawable/image2" />
</RelativeLayout>
输出如下所示
答案 2 :(得分:0)
使用FrameLayout。 例如:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView5"
android:src="@drawable/prescription_not_attached"
android:layout_gravity="center" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView8"
android:src="@drawable/home_measure"
android:layout_gravity="center" />
</FrameLayout>
用你的图像替换我的图像。
希望它有所帮助,谢谢
答案 3 :(得分:0)
尝试使用FrameLayout,使用Linear不允许重叠...
FrameLayout frame = (FrameLayout) findViewById(R.id.frame);
ImageView bat = new ImageView(this);
iv.setImageResource(R.drawable.bat);
ImageView ball = new ImageView(this);
i.setImageResource(R.drawable.ball);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.RIGHT | Gravity.TOP;
i.setLayoutParams(layoutParams);
frame.addView(bat);
frame.addView(ball);