我遇到与Handling click events on a drawable within an EditText中讨论的问题相同的问题,但我使用的是TextView
而不是EditText
。当我点击TextView
时,会调用方法onTouchEvent(MotionEvent event)
。是否可以仅处理图标上的点击?
答案 0 :(得分:0)
我认为这个想法与描述here几乎相同:使用事件坐标并确定它们是否在drawable的范围内。如果是,请执行您的操作。我不认为TextView
和EditText
在这方面存在重大差异。
答案 1 :(得分:0)
我认为使用TextView
和ImageView
会更好。当然,它会导致更复杂的布局结构,但我更喜欢XML文件中的两个小部件,而不是too much Java code dealing with the widgets。
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/iv"
android:text="@string/long_text"
android:textSize="22sp" />
<ImageView
android:id="@id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:contentDescription="@string/app_name"
android:src="@drawable/btn_go" />