ui作图的时候要在文字下面加上绚丽的下划线,当时想在布局中直接把下户线的宽度写死,后面想了想又不对,应为这样肯定是对不齐的,还是得计算出文字的宽度后,再设置绚丽下划线的宽度.
后面在初始化view的时候获取文字的宽度一直为0,因为当时页面还没有渲染成功,只有当Activity的当前Window获得焦点时表示Activity是完全对用户可见的,这个时候才能获取到view的宽高
所以呢,要想获取到view的宽高,要在onWindowFocusChanged方法中获取
![](https://img-blog.csdnimg.cn/20190709000402867.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MjMwMjc5,size_16,color_FFFFFF,t_70)
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
//这里根据自己的需求来写就好了
FrameLayout.LayoutParams viewParams = new FrameLayout.LayoutParams(
mTvTitlePwd.getWidth(), DeviceUtils.dip2px(this, 6));
viewParams.gravity = Gravity.BOTTOM;
mView.setLayoutParams(viewParams);
}
}