Bunu, büyük ölçüde bu blog gönderisinden çizimle tek ekranda birden çok görünümle (onay kutuları) gerçekleştirebildim . Temel olarak, emmby'nin çözümünü alırsınız ve bunu her bir düğmeye ve onun ebeveynine ayrı ayrı uygularsınız.
public static void expandTouchArea(final View bigView, final View smallView, final int extraPadding) {
bigView.post(new Runnable() {
@Override
public void run() {
Rect rect = new Rect();
smallView.getHitRect(rect);
rect.top -= extraPadding;
rect.left -= extraPadding;
rect.right += extraPadding;
rect.bottom += extraPadding;
bigView.setTouchDelegate(new TouchDelegate(rect, smallView));
}
});
}
Benim durumumda, üst üste yerleştirilmiş onay kutuları olan görüntü görüntülemelerinin bir ızgara görünümüne sahiptim ve yöntemi şu şekilde adlandırdım:
CheckBox mCheckBox = (CheckBox) convertView.findViewById(R.id.checkBox1);
final ImageView imageView = (ImageView) convertView.findViewById(R.id.imageView1);
expandTouchArea(imageView, mCheckBox, 100);
Benim için harika çalışıyor.