sdf
This commit is contained in:
38
app/src/main/java/utils/BottomNavigationViewHelper.java
Normal file
38
app/src/main/java/utils/BottomNavigationViewHelper.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package utils;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.support.design.internal.BottomNavigationItemView;
|
||||
import android.support.design.internal.BottomNavigationMenuView;
|
||||
import android.support.design.widget.BottomNavigationView;
|
||||
import android.util.Log;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* Created by 90432 on 2018/1/10.
|
||||
*/
|
||||
|
||||
public class BottomNavigationViewHelper {
|
||||
@SuppressLint("RestrictedApi")
|
||||
public static void disableShiftMode(BottomNavigationView view) {
|
||||
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
|
||||
try {
|
||||
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
|
||||
shiftingMode.setAccessible(true);
|
||||
shiftingMode.setBoolean(menuView, false);
|
||||
shiftingMode.setAccessible(false);
|
||||
for (int i = 0; i < menuView.getChildCount(); i++) {
|
||||
BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
|
||||
//noinspection RestrictedApi
|
||||
item.setShiftingMode(false);
|
||||
// set once again checked value, so view will be updated
|
||||
//noinspection RestrictedApi
|
||||
item.setChecked(item.getItemData().isChecked());
|
||||
}
|
||||
} catch (NoSuchFieldException e) {
|
||||
Log.e("BNVHelper", "Unable to get shift mode field", e);
|
||||
} catch (IllegalAccessException e) {
|
||||
Log.e("BNVHelper", "Unable to change value of shift mode", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user