发表于: 2017-01-14 23:27:57
1 753
今天完成的事情:编写了支付结果界面,查看合同界面,
编写了设置默认银行卡功能
明天计划的事情:继续按照接口文档实现功能
遇到的问题:
java.lang.IllegalArgumentException: @Field parameters can only be used with form encoding. (parameter #1)
使用Retrofit时,如果参数使用 @Field修饰,则该方法必须用 @FormUrlEncoded 修饰
收获:Android 获取控件的高度相关的函数有getMeasuredHeight和 getHeight
两者是不同的getMeasuredHeight()获得的是未经加工的测量高度,在控件完成了measure后,就可以获得这个数值,注意在onCreate函数中调用时返回值为0;这里可以得出获得高度的第一个方法,对于想在onCreate函数中就想获取控件的高度尤其有用,调用view.measure(0,0)方法,之后调用getMeasuredHeight(),就可以获得其测量高度,这里有一点需要注意一般调用view.measure(0,0)就可以了,不过如果由于受限于宽度导致如textview换行或则由于linearLayout由于含有weight导致换行什么的,则会导致getMeasuredHeight()获得的数值小与实际高度,解决办法是measure函数传入正确的宽度数值,一般来说如果想获得高度数值,那么宽度数值是固定可以获取的,则可以使用如下代码:
int widthSpec = MeasureSpec.makeMeasureSpec(value, View.MeasureSpec.EXACTLY);
view.measure(widthSpec, 0);
int height = view.getMeasuredHeight();
评论