/** * 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
最新推荐文章于 2025-11-07 00:43:34 发布
本文介绍了一个自定义的NavigationView类——UBFullScreenNavigationView,通过重写原类的方法实现了全屏显示的效果。该类通过监听布局变化,在布局完成后设置宽度为屏幕宽度,从而达到全屏的目的。

2320

被折叠的 条评论
为什么被折叠?



