画面にアイコンを表す小さな Android ImageButton があります。問題は、タッチしてアクティブにするのが難しいことです。画像自体のサイズを大きくしたくはありませんが、クリック可能な領域を拡大して大きくしたいので、ユーザーが画像に十分近い場合は onClick イベントがアクティブになります。周囲の画面領域に onTouch イベントを実装せずにこれを行うにはどうすればよいでしょうか?
7763 次
5 に答える
21
ImageButton
あなたはあなたを別のものにラップして、にViewGroup
パディングを設定することができますViewGroup
. 次に、 のクリックをリッスンしますViewGroup
。次に例を示します。
<FrameLayout
android:id="@+id/button_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_button"
android:duplicateParentState="true"
android:clickable="false"
android:focusable="false" />
</FrameLayout>
次に、 のクリックをリッスンし、親レイアウトと同じ状態 (押された、クリックされたなど) をすべて受け取る必要がR.id.button_layout
あります。ImageButton
于 2012-05-01T20:12:03.637 に答える
0
レイアウトがどのように構成されているかはわかりませんが、気になるのは相対レイアウトを使用することです。大きな透明な背景を持つアイコンを作成します。レイアウトを調整して正しく配置する必要がありますが、透明な領域もクリック可能になります。
于 2012-05-01T20:12:46.383 に答える
0
同様の状況がありました...相対レイアウトを使用してアイコンを配置し、その上に大きなボタンを直接配置して、通常の状態で完全に透明なドローアブルを使用し、押された/フォーカスされたときに半透明の色を追加します/等。
于 2012-05-01T20:10:05.430 に答える