现在位置: 首页 > 编程语言 > 文章
2020年02月18日 编程语言 ⁄ 共 4235字 评论关闭

Kotlin 扩展函数和扩展属性的使用方法 Kotlin 能够扩展一个类的新功能而无需继承该类或者使用像装饰者这样的设计模式. 这通过叫做 扩展 的特殊声明完成. 例如,你可以为一个你不能修改的.来自第三方库中的类编写一个新的函数. 这个新增的函数就像那个原始类本来就有的函数一样,可以用普通的方法调用. 这种机制称为 扩展函数 .此外,也有 扩展属性 , 允许你为一个已经存在的类添加新的属性. 前言 作为安卓开发,我们常常碰到这样的场景,需要把以dp为单位的值转化为以px为单位.这时候我们常会写一个Utils类,比如说 public cl

阅读全文
2020年02月18日 编程语言 ⁄ 共 6086字 评论关闭

Flutter 假异步的实现示例 就像 android 有 handle 一样,消息队列这东西好像还真是系统必备,Flutter 也有自己的消息队列,只不过队列直接封装在了 Dart 的线程类型 Isolate 里面了,不过 Flutter 还是提供了 Futrue 这个 API 来专门来操作各种消息,以及实现基于消息队列的假异步 Flutter 的"异步"机制 这里的异步是加了引号的,可见此异步非真异步,而是假异步.Flutter 的 异步 不是开新线程,而是往所属线程的 消息队列 中添加任务,当然大家也可

阅读全文
2020年02月18日 编程语言 ⁄ 共 9734字 评论关闭

Android通过ViewModel保存数据实现多页面的数据共享功能 通过ViewModel实现的数据共享符合Android的MVC设计模式,将数据独立出来 实现的Demo 1.主页面通过SeekBar 来改变数字的值 2.点击进入就进入第二个界面,但是数据还是共享的 3.随便加两个数字上去,再次切换 4.发现数据还是共享的 下面是具体实现步骤: 1.建立两个Fragment(使用了Binding 和 Navigation) 一点要添加Binding 和 Navigation 不然做不了 2.建立一个继承于ViewModel的类 3.分别在两个Fragment的代

阅读全文
2020年02月18日 编程语言 ⁄ 共 1186字 评论关闭

解决Android 10/Android Q手机在后台无法正常定位问题 Android 10 在2019年9月份正式发布,带来了一个非常重大的GPS权限改变.为用户提供了 仅在使用此应用时允许.一旦用户选择"仅在使用此应用时允许",就会导致APP在后台或者锁屏时候无法正常记录GPS轨迹,这个对像滴滴出行.共享单车.跑步软件影响非常的大. 针对这个变化,Google也给出了新的 解决方案. 第一步:升级SDK 修改build.gradle,升级APP的 compileSdkVersion 和 targetSdkVersion. android {

阅读全文
2020年02月18日 编程语言 ⁄ 共 7627字 评论关闭

两个surfaceView实现切换效果 需求:视频通话界面,两个surfaceView一个显示本端的视图,另一个显示对端的视图,由于显示比例的问题总会存在一个覆盖另一个的问题,为保证用户体验,规定小的覆盖大的视图上面,且点击小的视图可切花为大图视图居中,达到两个视图切花的功能.简单写一个demo完成功能的测试需求,为了较少文章的篇幅,视图的内容用回执矩形代替(实际开发中显示的是本地照相采集的数据和对端经过opgl处理的数据) 简单的布局 <?xml version="1.0" encoding="u

阅读全文
2020年02月18日 编程语言 ⁄ 共 5860字 评论关闭

RadioGroup实现单选框的多行排列 RadioGroup的使用非常简单,只是一般情况下,只能是横向排列或竖向排列.如果让多横排列的的就不是那么简单的了. 也许有童鞋该说了,将RadioButton写到LineLayout中不久行了吗?经过检验确实可以那样做,刚开始我也是这样做到.不过运行起来发现了了一个bug—单选按钮不在是单选了.而且选择事件不会被监听到.这就要求我们去想办法了.其实实现起来也不难.只要多用几个RadioGroup就可以了(要在代码中处理一些事件). 上代码: 1.xml中的布局: <RelativeL

阅读全文
2020年02月18日 编程语言 ⁄ 共 4568字 评论关闭

Android仿微信录制语音功能 本文实例为大家分享了Android仿微信录制语音的具体代码,供大家参考,具体内容如下 前言 我把录音分成了两部分 1.UI界面,弹窗读秒 2.一个类(包含开始.停止.创建文件名功能) 第一部分 由于6.0权限问题,点击按钮申请权限通过则弹窗,如何申请权限 弹窗布局popw_record.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="

阅读全文
2020年02月18日 编程语言 ⁄ 共 6392字 评论关闭

RecyclerView实现流式标签单选多选功能 RecyclerView简介 RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足.其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动).接下来讲解RecyclerView的用法. RecyclerView 基本用法 因为RecyclerView属于新增的控件,Android将RecyclerView定义在support库里.若要使用RecyclerView,第一步是要在build.g

阅读全文
2020年02月18日 编程语言 ⁄ 共 25166字 评论关闭

Android实现通用筛选栏 今天来写一个通用的筛选栏的实现,也是因为之前项目中要好多地方用到筛选栏这么个东西,所以为了之后用起来比较方便,就简单的做了一些封装.废话不多说,看一下效果图: 很多APP都有用到这个筛选栏,相信大家也不陌生. 一.需求分析 看到这个筛选栏之后,先来考虑一下布局,在开始接触android时候的我,可能看到这个布局的想法是:筛选栏这个部分,一个LinearLayout的横向布局,然后再分为3个部分,每个部分各占比重为1,然后在每个部分中放一个TextView和ImageView,之后监听每个部分的点

阅读全文
2020年02月18日 编程语言 ⁄ 共 3373字 评论关闭

android实现下拉菜单三级联动 android中的下拉菜单联动应用非常普遍,android中的下拉菜单用Spinner就能实现,以下列子通过简单的代码实现三级菜单联动. 一 样式文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="ma

阅读全文