|
43 | 43 | import android.support.design.widget.Snackbar; |
44 | 44 | import android.support.v4.app.DialogFragment; |
45 | 45 | import android.support.v4.view.GravityCompat; |
| 46 | +import android.support.v4.widget.ViewDragHelper; |
46 | 47 | import android.support.v7.app.ActionBarDrawerToggle; |
47 | 48 | import android.support.v4.app.FragmentActivity; |
48 | 49 | import android.support.v4.app.FragmentManager; |
|
56 | 57 | import android.widget.Toast; |
57 | 58 | import android.widget.TextView; |
58 | 59 |
|
| 60 | +import java.lang.reflect.Field; |
| 61 | + |
59 | 62 | import butterknife.ButterKnife; |
60 | 63 | import butterknife.InjectView; |
61 | 64 | import butterknife.Optional; |
@@ -172,6 +175,25 @@ public void onDrawerOpened(View drawerView) { |
172 | 175 | }; |
173 | 176 |
|
174 | 177 | drawerLayout.setDrawerListener(drawerToggle); |
| 178 | + |
| 179 | + try { |
| 180 | + // increase the size of the drag margin to prevent starting a star swipe when |
| 181 | + // trying to open the drawer. |
| 182 | + Field mDragger = drawerLayout.getClass().getDeclaredField( |
| 183 | + "mLeftDragger"); |
| 184 | + mDragger.setAccessible(true); |
| 185 | + ViewDragHelper draggerObj = (ViewDragHelper) mDragger |
| 186 | + .get(drawerLayout); |
| 187 | + |
| 188 | + Field mEdgeSize = draggerObj.getClass().getDeclaredField( |
| 189 | + "mEdgeSize"); |
| 190 | + mEdgeSize.setAccessible(true); |
| 191 | + int edge = mEdgeSize.getInt(draggerObj); |
| 192 | + |
| 193 | + mEdgeSize.setInt(draggerObj, edge * 3); |
| 194 | + } catch (Exception e) { |
| 195 | + e.printStackTrace(); |
| 196 | + } |
175 | 197 | } |
176 | 198 | setSupportActionBar(toolbar); |
177 | 199 | getSupportActionBar().setDisplayShowHomeEnabled(true); |
|
0 commit comments