1. ホーム
  2. android

[解決済み] AndroidでTouchDelegateを使って、ビューのクリックターゲットのサイズを大きくする例はありますか?

2023-04-19 04:52:11

質問

私の理解では、タッチするには小さすぎるビューがあるとき、そのビューのクリック可能な領域を増やすためにTouchDelegateを使用することになっているようです。

しかし、Google で使用例を検索すると、複数の人が質問していますが、回答はほとんどありません。

たとえば、クリック可能な領域をすべての方向に 4 ピクセル増やすために、ビューのタッチ デリゲートをセットアップする適切な方法を知っていますか?

どのように解決するのですか?

Googleの友人に聞いてみたところ、TouchDelegateの使い方を教えてもらうことができました。 以下は、私たちが思いついたことです。

final View parent = (View) delegate.getParent();
parent.post( new Runnable() {
    // Post in the parent's message queue to make sure the parent
    // lays out its children before we call getHitRect()
    public void run() {
        final Rect r = new Rect();
        delegate.getHitRect(r);
        r.top -= 4;
        r.bottom += 4;
        parent.setTouchDelegate( new TouchDelegate( r , delegate));
    }
});