TouchDelegateでImageButtonのタッチ領域を拡張する(Android Java)
やりたいことは下記のページと同じ。
それをAndroid-KTXを使わずにAndroid Javaでやる時のメモ。
getDrawableRectはViewTreeObserverのdoOnPreDraw時に取得すれば、座標設定済のRectが取れる。
Android-KTXではなく、Android Javaでは下記のようにする
private void setUpTouchDelegate() { viewGroup.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { Rect rect = new Rect(); viewGroup.getDrawingRect(rect); viewGroup.setTouchDelegate(new TouchDelegate(rect, imageButton)); return true; } }); }