Android知识点日常记录(二)

好记性不如烂笔头,知识点又来了。最近工作相当充实,体验了一把互联网公司的 996,累到只想睡觉。晚上抽空把知识点整理一下。

TextView Hint使用坑点

一般APP会设计提示语,有输入内容的时候提示语消失,没有输入内容的话,就显示提示语,一般会使用控件的Hint属性,分分钟解决设计。但是最近我在项目中,使用这个Hint发现了一个问题,输入内容少于Hint内容,界面会显示异常,界面显示包含了Hint的长度。如果输入内容大于Hint内容,显示不会出现异常。很神奇的现象。

解决方案

一种很简单粗暴的解决方案:设置文本内容显示在控件的右边。因为默认文本显示是居左,修改文本显示后,宽度以Hint宽度为基准,导致显示异常,出现空白。

1
android:gravity="right"

网络请求 Token

之前一直没有机会去调试接口,最近却被调接口虐到,有一个接口,Postman访问,接口请求正常,返回数据正常,但是自己就是拿不到数据。因为是维护别人的代码,就没仔细看,大致看了下,感觉没错。后台怀疑没传token,可是代码里面传了token,最后才发现,token传错了位置,传到了body里面。这低级错误,简直……

修改网络请求,header中传入token,接口访问正常。

Fresco 框架 wrap_content

Android图片加载库很多,最近使用Facebook的一款图片加载库,很简单,使用之后,发现图片显示不了。查看官方文档,不支持Wrap_content,What ?文档链接如下:

为什么不支持wrap_content

解决方案

原因官方已经解释的很清楚了,我们可以参照StackOverflow上的解决方案,也可以设置宽高比来解决图片不显示的问题。宽高比方案代码如下:

1
2
3
4
<com.facebook.drawee.view.SimpleDraweeView
android:layout_width="wrap_content"
fresco:viewAspectRatio="1"
android:layout_height="100dp" />

PS:宽高比方案,必须固定一边高度,另一边设置wrap_contentfresco:viewAspectRatio属性。