SeekBar in a NavigationDrawer

android, navigation-drawer, seekbar

Solution

Just add an `onTouchListener`. When you touch the screen on the seekbar (action_down) disallow parent to intercept the event.

seekbar.setOnTouchListener(new ListView.OnTouchListener() 
{
    @Override
    public boolean onTouch(View v, MotionEvent event) 
    {
        int action = event.getAction();
        switch (action) 
        {
        case MotionEvent.ACTION_DOWN:
            // Disallow Drawer to intercept touch events.
            v.getParent().requestDisallowInterceptTouchEvent(true);
            break;

        case MotionEvent.ACTION_UP:
            // Allow Drawer to intercept touch events.
            v.getParent().requestDisallowInterceptTouchEvent(false);
            break;
        }

        // Handle seekbar touch events.
        v.onTouchEvent(event);
        return true;
    }
});

Problem

I want to use a seekbar in a Navigation Drawer Basically I need to slide left and right to set the seekbar and, well, you guessed it, it slides the navigation drawer... What I would like to do is to slide the seekbar when it's focused and the navigationdrawer when it's not. How should I do that? Here is my code when setting an item (I haven't set the seekbar yet) ``` private View onCritereView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View mView = inflater.inflate(R.layout.fragment_critere, container, false); LinearLayout mLinearLayout = (LinearLayout) mView.findViewById(R.id.critere_linearlayout); View mViewElement = inflater.inflate(R.layout.item_critere, null); ((TextView)mViewElement.findViewById(R.id.critere_title)).setText("Prix Maximum"); mLinearLayout.addView(mViewElement); return mView; } ``` Here is the `item_critere.xml` with the seekbar: ``` <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/critere_item" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="*"> <TableRow android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Large Text" android:id="@+id/critere_title" android:layout_gravity="left|center_vertical" android:layout_column="0"/> <SeekBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/critere_qualifier" android:layout_column="1" android:layout_span="4"/> </TableRow> <TableRow android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="Medium Text" android:id="@+id/critere_value" android:layout_span="4"/> </TableRow> </TableLayout> ``` Thanks in advance :)

Original source