1

ハンドルとしてRadioButtonsを使用するカスタムのドラッグ可能なSlidingDrawerがあります。メソッドではreturn super.onInterceptTouchEvent(event);なく呼び出したラジオボタンでタッチイベントを有効にするため。しかし、どういうわけか、SlidingDrawerをドラッグするたびに、RadioButtonを正確にタッチして上にドラッグすることはできません。指を少し上に動かして、SlidingDrawerを上にドラッグする必要があります。return trueonInterceptTouchEvent

RadioButton自体のTouchEventを失うことなく、RadioButtonにタッチすることで、SlidingDrawerを正確にドラッグ可能にする方法はありますか?

これが私のタッチ方法です:

public boolean onInterceptTouchEvent(MotionEvent event) {

            if (mLocked) {
                //return false;
            }

            final int action = event.getAction();

            float x = event.getX();
            float y = event.getY();

            final Rect frame = mFrame;
            final View handle = mHandle;

            handle.getHitRect(frame);
            if (!mTracking && !frame.contains((int) x, (int) y)) {
                return false;
            }

            if (action == MotionEvent.ACTION_DOWN) {
                mTracking = true;
                WWHApplication.getListActivityIntance().resizeListView(1800);
                handle.setPressed(true);
                // Must be called before prepareTracking()
                prepareContent();
                // Must be called after prepareContent()
                if (mOnDrawerScrollListener != null) {
                    mOnDrawerScrollListener.onScrollStarted();
                }

                if (mVertical) {
                    final int top = mHandle.getTop();
                    mTouchDelta = (int) y - top;
                    prepareTracking(top);
                } else {
                    final int left = mHandle.getLeft();
                    mTouchDelta = (int) x - left;
                    prepareTracking(left);
                }
                mVelocityTracker.addMovement(event);
            }

            //return true;
            return super.onInterceptTouchEvent(event);

        }

これが私のハンドルの様子です

 <LinearLayout
            android:id="@+id/handle"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >


            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/tab_content_bg_top" />

            <HorizontalScrollView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/tab_content_bg"
                android:fillViewport="true"
                android:scrollbars="none" >

                <RadioGroup
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <RadioButton
                        android:id="@+id/cb_tab_all"
                        android:layout_width="46dp"
                        android:layout_height="45dp"
                        android:background="@drawable/checkbox_background"
                        android:button="@drawable/tab_all_selector"
                        android:onClick="true" />

                    <RadioButton
                        android:id="@+id/cb_tab_favorites"
                        android:layout_width="84dp"
                        android:layout_height="45dp"
                        android:background="@drawable/checkbox_background"
                        android:button="@drawable/tab_favorites_selector"
                        android:onClick="true" />

                    <RadioButton
                        android:id="@+id/cb_tab_historical"
                        android:layout_width="134dp"
                        android:layout_height="45dp"
                        android:background="@drawable/checkbox_background"
                        android:button="@drawable/tab_historical_selector"
                        android:onClick="true" />

                    <RadioButton
                        android:id="@+id/cb_tab_food"
                        android:layout_width="116dp"
                        android:layout_height="45dp"
                        android:background="@drawable/checkbox_background"
                        android:button="@drawable/tab_food_selector"
                        android:onClick="true" />
                </RadioGroup>
            </HorizontalScrollView>

            <ImageView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/tab_content_bg_bottom" />
        </LinearLayout>
4

0 に答える 0