本文主要是介绍解决NavigationView full screen,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/** * Created by Andy.chen on 2016/6/30. * NavigationView 默认是不全屏 显示占屏幕80% * 重写该类,实现全屏 * */ public class UBFullScreenNavigationView extends NavigationView {private final static String TAG = UBFullScreenNavigationView.class.getSimpleName();public UBFullScreenNavigationView(Context context) {super(context);initView(context);}public UBFullScreenNavigationView(Context context, AttributeSet attrs) {super(context, attrs);initView(context);}public UBFullScreenNavigationView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initView(context);}private void initView(final Context context) {//侦测待UI完全加载完成才允许计算宽值,否则取得值为0 ViewTreeObserver vto = this.getViewTreeObserver();vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@SuppressWarnings("deprecation")@Override public void onGlobalLayout() {setFullScreenWidth(context);}});}public void setFullScreenWidth(Context context) {DrawerLayout.LayoutParams params = (DrawerLayout.LayoutParams) this.getLayoutParams();params.width = UIUtils.getScreenWith(context);UBLog.d(TAG,"setFullScreenWidth = "+params.width);this.setLayoutParams(params);} }
这篇关于解决NavigationView full screen的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!