الروبوت الملاحة درج منطقة الزناد صغيرة جدا
-
20-12-2019 - |
سؤال
أنا أعمل على درج الملاحة التي تقدمها مكتبة الروبوت الرسمية.وأنا سريع من الجانب الأيسر, المشكلة هي افتراضيا منطقة الزناد صغيرة جدا, المستخدم يجب أن تلمس في اليسار جدا لفتح درج , هل هناك أي طريقة لتخصيص حجم, أو تكبير حجم?شكرا للمساعدة.
المحلول
يمكنك أن تفعل شيئا من هذا القبيل:
private void setLeftMargin() {
java.lang.reflect.Field mDragger = null;
try {
mDragger = mDrawerLayout.getClass()
.getDeclaredField("mLeftDragger");
} catch (NoSuchFieldException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
mDragger.setAccessible(true);
ViewDragHelper draggerObj = null;
try {
draggerObj = (ViewDragHelper) mDragger.get(mDrawerLayout);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
java.lang.reflect.Field mEdgeSize = null;
try {
mEdgeSize = draggerObj.getClass().getDeclaredField("mEdgeSize");
} catch (NoSuchFieldException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
mEdgeSize.setAccessible(true);
int edge = 0;
try {
edge = mEdgeSize.getInt(draggerObj);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mEdgeSize.setInt(draggerObj, edge * 1);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
فإنه سيتم تعيين منطقة الجانب الأيسر وفقا لمتطلباتكم.يمكنك تعيين int edge = valueYouNeed;
نأمل أن تساعدك.
نصائح أخرى
نسخة kotlin من Andim الإجابة
giveacodicetagpre.لا تنتمي إلى StackOverflow