布局
<ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false">
<ConstraintLayout
android:layout_width="24dp"
android:layout_height="24dp"
android:translationX="5dp"
android:translationY="5dp"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintEnd_toStartOf="parent">
<ImageView
android:id="@+id/imageView"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@android:color/black"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
</ConstraintLayout>
</ConstraintLayout>
我想处理imageView
的点击事件,因此我设置了用于单击它的简单侦听器。
imageView.setOnClickListener {
Log.d("ClickEvent", "imageView Clicked")
}
我仅在触摸橙色区域时才能收到点击事件。但是我也想在触摸红色区域时收到点击事件。
请注意,红色是剪切区域,橙色是非剪切区域(红色+橙色= imageView区域),灰色是ConstraintLayout
即使用户触摸剪切区域,是否有任何方法可以接收点击事件? (如果可能,它可以通过代码还是xml来完成?)
答案 0 :(得分:-1)
您必须先初始化
imageView = findViewById(R.id.imageView);
然后您可以调用点击监听器
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do something
}
});