上一篇:Android 天气APP(九)细节优化、必应每日一图
根据小伙伴的评论,我增加了页面数据的下拉刷新,首先在修改布局,
可以看到我在androidx.core.widget.NestedScrollView的外层嵌套了一个com.scwang.smartrefresh.layout.SmartRefreshLayout(PS:依赖中引入的下拉刷新框架)和com.scwang.smartrefresh.header.StoreHouseHeader(PS:刷新样式)
<!--下拉刷新布局-->
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refresh"
app:srlPrimaryColor="#00000000"<!--背景色-->
app:srlAccentColor="#FFF"<!--文字颜色-->
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--刷新头部样式-->
<com.scwang.smartrefresh.header.StoreHouseHeader
app:shhText="GOOD WEATHER"<!--自定义的文字-->
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!--NestedScrollView 里面只能包裹一个大的布局,
当这个布局长度超出手机展示的部分就可以滚动,其中overScrollMode="never"
的意思是隐藏掉滚动条到顶部和底部时的水波纹-->
<androidx.core.widget.NestedScrollView
android:overScrollMode="never"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.core.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
只要复制上面的刷新布局和样式布局即可
接下来在Activity中
修改的地方也比较简单,这里就不贴代码了。
上图中红线框中的布局就是下拉刷新布局。
之前我想了一下,定位的话还是给一个定位图标比较好,未获取到数据之前显示定位中,获取数据之后显示定位到的城市和定位图标,这样可以增加用户的体验,虽然很多人不会注意这个小细节,但是很多APP之所以受欢迎就是因为细节做得好,体验感强。
icon_location.png
这就是这个图标。
然后修改布局文件
我也修改了上面的温度的布局,让它居中
然后在MainActivity里面
@BindView(R.id.iv_location)
ImageView ivLocation;//定位图标
private boolean flag = true;//图标显示标识,true显示,false不显示,只有定位的时候才为true,切换城市和常用城市都为false
运行效果如下:
这是第十篇文章,有好的想法我会一直更新这个APP的,当然文章也会一直更新下去,虽然只是一些小功能,但是积少成多呀。