Skip to content

Commit 2b9e3aa

Browse files
committed
Increase drag margin for drawer.
Increase the margin that allows to open the drawer to prevent accidentally starting a star swipe when trying to open the drawer. See: http://stackoverflow.com/questions/16988597/set-drag-margin-for-android-navigation-drawer/17802569#17802569
1 parent e6d066e commit 2b9e3aa

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import android.support.design.widget.Snackbar;
4444
import android.support.v4.app.DialogFragment;
4545
import android.support.v4.view.GravityCompat;
46+
import android.support.v4.widget.ViewDragHelper;
4647
import android.support.v7.app.ActionBarDrawerToggle;
4748
import android.support.v4.app.FragmentActivity;
4849
import android.support.v4.app.FragmentManager;
@@ -56,6 +57,8 @@
5657
import android.widget.Toast;
5758
import android.widget.TextView;
5859

60+
import java.lang.reflect.Field;
61+
5962
import butterknife.ButterKnife;
6063
import butterknife.InjectView;
6164
import butterknife.Optional;
@@ -172,6 +175,25 @@ public void onDrawerOpened(View drawerView) {
172175
};
173176

174177
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+
}
175197
}
176198
setSupportActionBar(toolbar);
177199
getSupportActionBar().setDisplayShowHomeEnabled(true);

0 commit comments

Comments
 (0)