Android 天气APP(十)继续优化、下拉刷新页面天气数据
时间:2022-07-25
本文章向大家介绍Android 天气APP(十)继续优化、下拉刷新页面天气数据,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
上一篇: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的,当然文章也会一直更新下去,虽然只是一些小功能,但是积少成多呀。 下一篇:Android 天气APP(十一)未来七天的天气预报、逐小时预报、UI优化
- WordPress REST API 定制化输出
- ASP.NET MVC的Action Filter
- Android LayoutInflater详解
- 在Android中实现service动态更新UI界面
- VUE 入门基础(5)
- Android的UI设计与后台线程交互
- 更强悍的Silverlight: WCF RIA Services
- Java究竟该怎么学?文末有彩蛋!
- python-IDLE清屏和标记行数,其他推荐
- 从0到1:PostCSS 插件开发最佳实践
- VUE 入门基础(4)
- 实例演示Android异步加载图片
- 使用OData协议查询Windows日志
- Android之Notification介绍
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释