Чтобы создать представление, у вас есть два основных варианта.
Один из них - определить его в XML, в файле макета, который будет использовать ваша активность.
<LinearLayout ... > <!-- or any other layout, see layout documentation in the SDK -->
<ImageView ... <!-- or another view as fits your needs -->
android:id="@+id/myview"
android:src="@drawable/myimage" ... />
</LinearLayout>
Затем вы можете сослаться на него.ваше представление в вашем коде, после вы вызвали setContentView, с findViewById (R.id.myview).(конечно, если вы скажете, скажем, «@ + foo / bar» в файле XML, вы будете использовать R.foo.bar).
Другой способ - создать его динамически и прикрепитьв иерархию представлений.
ImageView v = new ImageView();
v.setImageResource(R.drawable.myimage);
... // initialize your view here
parent.addChild(v);
... Или так.
Чтобы получить события, у вас снова есть несколько вариантов.Одним из них является создание подкласса View (или ImageView в этом отношении) и реализация onTouchEvent.Вам нужно будет адаптировать приведенный выше код для создания экземпляра вашего нового класса вместо ImageView (это очевидно в коде Java, для XML вы должны написать имя тега и убедиться, что вы реализуете конструктор, который принимает (Context, AttributeSet)назвать его конструктор суперкласса).Или вы можете написать TouchDelegate и использовать setTouchDelegate в вашем ImageView, что, вероятно, проще в вашем случае.
Другой подход заключается в создании GestureDetector и сопоставлении касаний с вашим представлением с использованием метода hitTest.Для описываемой вами задачи это излишне, но может пригодиться, когда ваше приложение станет более сложным.