如果直接在Activity的OnCreate()方法中直接获取View的高度和宽度,会发现返回的值都是0。
所以可以用post()方法解决上述问题。
btnChange.post(new Runnable() { @Override public void run() { Log.d("custom tag",btnChange.getHeight()+"--"+btnChange.getWidth()); } });
理解:View.post(Runnable):在post方法中,将Runable加入到当前UI主线程的消息队列中(并不会多开一个线程,逻辑尽量简单)。