一个不错的loading效果

本文介绍了一个使用Android SeekBar实现的弹性加载效果,并通过MetaballView组件完成动画展示。适用于学习Android动画特效的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个不错的loading加载效果,弹性收缩,效果很不错的android特效,学习android动画特效的朋友可以下载来研究研究
本例子其实由SeekBar实现,由MetaballView,MetaballDebugView实现动画效果.
项目来自:http://www.itlanbao.com/code/20151209/10000/100683.html

当滑动到有一个位置的时候设置选中和未选中状态.
metaballView.setPaintMode();
           
debugMetaballView.setPaintMode();
设置SeekBar 的进度debugMetaballView.setMaxDistance(progress);

运行效果:

文章来源:http://www.itlanbao.com/code/20151209/10000/100683.html


转载于:https://my.oschina.net/u/2456358/blog/541327

### 实现全局 HTTP 请求 Loading 效果 为了在 Vue 项目中为所有的 HTTP 请求添加 `loading` 效果,可以利用 Axios 的拦截器功能来管理请求和响应的状态。通过 Vuex 来集中管理和分发应用状态的变化是一个不错的选择。 #### 使用 Vuex 和 Axios 拦截器实现加载动画 定义一个名为 `showLoading` 的属性于 Vuex store 的 state 中用于追踪当前是否有正在进行中的网络请求[^2]: ```javascript // store.js import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { showLoading: false, // ...其他状态变量... }, mutations: { updateLoading(state, status){ state.showLoading = status; } // ...其他mutation方法... }, }) ``` 接着,在创建 Axios 实例时配置请求与响应的拦截器,每当发起一个新的请求就设置 `showLoading=true`;当收到服务器返回的数据之后再将其重置为 `false`: ```javascript // axiosInstance.js import axios from 'axios'; import store from './store'; const instance = axios.create(); instance.interceptors.request.use(config => { store.commit('updateLoading', true); return config; }); instance.interceptors.response.use(response => { setTimeout(() => { // 延迟是为了模拟实际场景下的延迟时间 store.commit('updateLoading', false); }, 500); return response; }, error => { store.commit('updateLoading', false); return Promise.reject(error); }); export default instance; ``` 最后一步是在组件内监听这个 `showLoading` 属性并相应地展示或隐藏加载指示符。可以在根实例上注册一个 watcher 或者直接使用 computed property 结合 v-if/v-show 指令完成此操作[^3]: ```html <!-- App.vue --> <template> <div id="app"> <!-- 加载提示框 --> <div class="loader" v-if="$store.state.showLoading">正在加载...</div> <!-- 应用程序主体内容 --> </div> </template> <script> export default { name: 'App', } </script> <style scoped> .loader{ position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; background-color: rgba(255, 255, 255, .8); padding: 20px; border-radius: 10px; text-align: center; font-size: larger; color: blueviolet; } </style> ``` 这样就可以确保每次执行 API 调用的时候都会自动触发 loading 显示逻辑,并在网络请求完成后关闭它[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值