当我们动态创建某些View时,需要通过获取他们的width和height来确定别的View的布局,但是在onCreate()获取view的width和height会得到0。View.getWidth()和View.getHeight()为0的根本原因是控件还没有完成绘制,你必须等待系统将绘制完View时才能获得。 二、解决方案: 1. Activity/View#onWindowFocusChanged onWindowFocus...
view.setLayoutParams(newViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,0)); 1. 这行代码将View的宽度设置为MATCH_PARENT,即与父容器的宽度相等;将高度设置为0。 步骤3:获取View的高度 现在,我们可以获取这个View的高度。在Android中,我们可以通过调用View的getHeight()方法来实现。 intheight=view.get...
View.getWidth()和View.getHeight()为0的根本原因是控件还没有完成绘制,你必须等待系统将绘制完View时才能获得。 @Override publicvoidonWindowFocusChanged(booleanhasFocus){ super.onWindowFocusChanged(hasFocus); if(hasFocus){ intwidth=this.getMeasuredWidth(); intheight=this.getMeasuredHeight(); } } 版权...
组件外无法获取: 调用View.getHeight()和View.getWidth()方法 是获取不到组件的宽度和高度的, 这两个方法返回的是0, Android的运行机制决定了无法在组件外部使用getHeight()和getWidth()方法获取宽度和高度; 组件内可以获取: 在自定义的类中可以在View的类中通过调用这两个方法获取该View子类组件的宽和高; b....
1 android 获取View的高度(getHeight()) 宽度(getWidth()) 为0int widthSpec =View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);int heightSpec=View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED); view.measure(widthSpec,heightSpec);int height=view.getMeasuredHeight();int ...
android View.getWidth() 和View.getHeight()返回0 你肯定是在View还没有画出来的时候调用了这两个函数,在OnCreate中View是没有画出的,所以,如果这些代码是在OnCreate中,返回值是肯定为0 的
Android解决获取控件Width和Height为0的问题 Android在onCreate方法中调用View的getWidth和getHeight时返回的结果是0,因为此时控件还没有Draw出来,所以长和宽都是0。 如果想得到Width和Height,可以对View进行监听: 首先需要重写View的onSizeChange方法,加入监听回调函数:...
在activity中,经常需要获取view的width和height,但是在onCreate()获取view的width和height会得到0。view.getWidth()和view.getHeight()为0的根本原因是:控件还没有完成绘制。这种情况当我们使用动态布局(使用wrap_content或match_parent)就会出现。 一般来讲在Activity.onCreate(...)、onResume()方法中都没有办法获...
因为在这些地方获取的时候界面都没有完全加载结束,你可以写在事件或者写在onWindowFocusChanged(boolean hasFocus)里面就可以获取了
FrameLayout fl1 = (FrameLayout) findViewById(R.id.headerFrameLayout); FrameLayout fl2 = (FrameLayout) findViewById(R.id.footerFrameLayout); Button b=(Button) findViewById(R.id.searchButton); Log.d("CONEKTA", String.valueOf(b.getHeight())); ...