【发布时间】:2015-10-14 16:31:59
【问题描述】:
我将图像的 2 个部分放在一个位置相互重叠,如何检测当前正在单击哪个 imageView?为了更好地理解,请参阅下面的代码。
MainActivity.java
public class MainActivity extends Activity implements View.OnClickListener {
ImageView image1, image2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image1 = (ImageView) findViewById(R.id.image1);
image2 = (ImageView) findViewById(R.id.image2);
image1.setOnClickListener(this);
image2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// Some function to detect which ImageView is being clicked
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@id+/image1"
android:src="@drawable/piece1"
android:background="@null"
/>
<ImageView
android:id="@id+/image2"
android:src="@drawable/piece2"
android:background="@null"
/>
</RelativeLayout>
这是第一块
这是第二部分
这是显示在应用程序中的图像,piece1 和piece2 在同一位置。
现在,我如何设置一个能够区分用户是点击 image1 还是 image2 的函数?由于 ImageViews 重叠,onClick 事件将始终检测到 image2。如何分别检测它们,以便每个图像具有不同的运行功能。谢谢。
【问题讨论】:
-
感谢您的建议,很抱歉我对 alpha onTouch 不熟悉,您能详细说明一下吗?
标签: android android-layout android-activity android-studio android-imageview