|
|
@@ -1,12 +1,15 @@
|
|
|
package com.usai.apex.mainframe;
|
|
|
|
|
|
+import android.support.design.internal.BaselineLayout;
|
|
|
import android.support.design.internal.BottomNavigationItemView;
|
|
|
import android.support.design.internal.BottomNavigationMenuView;
|
|
|
import android.support.design.widget.BottomNavigationView;
|
|
|
import android.util.DisplayMetrics;
|
|
|
import android.util.TypedValue;
|
|
|
+import android.view.Gravity;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
+import android.widget.FrameLayout;
|
|
|
|
|
|
import com.usai.apex.ApexTrackingApplication;
|
|
|
|
|
|
@@ -15,7 +18,7 @@ import java.lang.reflect.Field;
|
|
|
// 利用反射,改变 item 中 mShiftingMode 的值
|
|
|
public class BottomNavigationViewHelper {
|
|
|
|
|
|
- public static void disableShiftMode(BottomNavigationView navigationView) {
|
|
|
+ public static void disableShiftMode(BottomNavigationView navigationView, boolean showIcon) {
|
|
|
|
|
|
|
|
|
BottomNavigationMenuView menuView = (BottomNavigationMenuView) navigationView.getChildAt(0);
|
|
|
@@ -42,7 +45,11 @@ public class BottomNavigationViewHelper {
|
|
|
|
|
|
|
|
|
|
|
|
- final View iconView = itemView.findViewById(android.support.design.R.id.icon);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ View iconView = itemView.findViewById(android.support.design.R.id.icon);
|
|
|
+
|
|
|
final ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
|
|
|
final DisplayMetrics displayMetrics = ApexTrackingApplication.get_instance().getResources().getDisplayMetrics();
|
|
|
layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 26, displayMetrics);
|
|
|
@@ -50,6 +57,27 @@ public class BottomNavigationViewHelper {
|
|
|
iconView.setLayoutParams(layoutParams);
|
|
|
|
|
|
|
|
|
+// itemView.removeView(iconView);
|
|
|
+// iconView.remove
|
|
|
+
|
|
|
+ if(!showIcon)
|
|
|
+ {
|
|
|
+ for(int k=0;k<itemView.getChildCount();k++)
|
|
|
+ {
|
|
|
+ View v = itemView.getChildAt(k);
|
|
|
+ if(v instanceof BaselineLayout)
|
|
|
+ {
|
|
|
+// BaselineLayout bl = (BaselineLayout)v;
|
|
|
+ FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) v.getLayoutParams();
|
|
|
+ params.gravity = Gravity.CENTER;
|
|
|
+ v.setLayoutParams(params);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ iconView.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+
|
|
|
itemView.setShiftingMode(false);
|
|
|
itemView.setChecked(itemView.getItemData().isChecked());
|
|
|
|