Android

Android 自定义LineLayout实现满屏任意拖动功能的示例代码

2020-06-08
1.前言 在开发中,会有需求实现控件在屏幕随意拖动,这就需要自定义View,然后在OnTouchEvent事件中,处理MotionEvent.ACTION_MOVE事件,然后通过坐标点传值给onlayout方法,来实现控件的任意拖动,具体代码如下: import android.content.Context; import android.util.AttributeSet; import android.view.Display; import android.view.MotionEven

Android scheme 跳转的设计与实现详解

2020-06-08
缘起 随着 App 的成长,我们难免会遇到以下这些需求: H5 跳原生界面 Notification 点击调相关界面 根据后台返回数据跳转界面,例如登录成功后跳不同界面或者根据运营需求跳不同界面 实现 AppLink 的跳转 为了解决这些问题,App 一般都会自定义一个 scheme 跳转协议,多端都实现这个协议,以此来解决各种运营需求.今天就来解析下QMUI最新版QMUISchemeHandler的设计与实现. 一个 scheme 的格式大概是这样子: schemeName://action?

Android开发疫情查询app(实例代码)

2020-06-07
一丶工作原理: App 通过请求本地tomcat发布的servlet (调用了 HttpURLConnection 方法)获取MySQL数据库当中的数据,获取数据并返回到App 当中,显示给用户.(其中传递的格式为 json) 使用的工具:Android Studio  开发APP  Eclipse 发布Servlet,数据传递 二丶运行代码: Tomcat 发布的Servlet 类: package com.Servlet; import java.io.IOException; import

Android EditText随输入法一起移动并悬浮在输入法之上的示例代码

2020-06-07
好习惯,先上图 今天在做作业的时候有这样一种需求,评论功能页面需要仿QQ或者微博类似的页面布局,Edittext固定底部,但是又能悬浮在输入法之上.百度看了好多代码,又是写监听改变布局,又是动态调整输入框的位置,很高级,但是我尝试都没有效果,也不知道是我手机的原因还是不会用人家的代码,没办法,自己动手研究. 研究结果: 一共三个点 1.文件AndroidManifest.xml里 当前页面的activity标签里加这个 android:windowSoftInputMode="adjustRes

android 限制某个操作每天只能操作指定的次数(示例代码详解)

2020-06-07
最近有个需求,要求启动页的拦截页每天只能显示3次,超过三次就显示别的页面,然后到第二天才可以再次显示,利用SharePreferences保存天数和每天的次数,大概是思路是:判断 如果是同一天,就去拿保存的次数,当次数小于3才执弹出拦截页,然后,每次弹出,次数就加1,并且保存次数和当天的时间:如果不是同一天,就把次数赋值为1,并且把当天赋值给最后访问的时间,然后保存当前的次数.具体实现如下: package com.example.demo1.test; import android.suppo

Android 自定义SeekBar 实现分段显示不同背景颜色的示例代码

2020-06-06
在最近的开发工作中,要实现一个调色板的进度条,SeekBar要分成10段显示不同颜色,功夫不负有心人,终于实现了这个功能,下面分享给大家 示例图: 1.自定义SeekBar import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import

Android 倒计时控件 CountDownView的实例代码详解

2020-06-05
一个精简可自定义的倒计时控件,使用 Canvas.drawArc() 绘制.实现了应用开屏页的圆环扫过的进度条效果. 代码见https://github.com/hanjx-dut/CountDownView 使用 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { implementation 'com.github.hanjx-dut:CountDownView:1.1'

flutter的环境安装配置问题及解决方法

2020-06-05
Flutter简介 Flutter是Google推出的基于Dart语言开发的跨平台开源UI框架,旨在统一纷纷扰扰的跨平台开发框架,在UI层面上多端共用一套Dart代码来实现多平台适配开发.目前应用比较广泛的还是移动端iOS和安卓,虽然传言Fuchsia会是亲儿子项目,那也不是当下考虑的. 下面重点给大家介绍下flutter的环境安装配置问题及解决方法. (1)安装android SDK时,会出现Android license 的问题,将JAVA JDK降级到SE8就可以了,很多版本没对应上,JA

Android自定义view实现标签栏功能(只支持固定两个标签)

2020-06-05
实现效果图 主要代码 完整源代码 class TabView(context: Context, attributeSet: AttributeSet?) : LinearLayout(context, attributeSet) { private lateinit var firstTab: View private lateinit var secondTab: View private val firstTabIndex = 0 private val secondTabIndex =

Android 自定义加载动画Dialog弹窗效果的示例代码

2020-06-04
效果图 首先是创建弹窗的背景 这是上面用到的 以shape_bg_5_blue.xml为例,其他的三个无非就是里面的颜色不一样而已 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp"

Android在类微信程序中实现蓝牙聊天功能的示例代码

2020-06-02
项目要求 1.初次打开程序时右上角标题栏显示"无连接",点击旁边的按钮选择"我的好友",进入配对界面: 2.选择好友之后,返回主界面,标题栏会显示已连接的手机型号: 3.两部手机间可通过蓝牙聊天 效果展示 项目结构 主要代码 1.在清单文件中注册权限 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission and

Android studio有关侧滑的实现代码

2020-06-02
最近写课设,因为是新手,实现起来比较麻烦.所以写下此笔记,免得我以后忘记了. 附图片: //主页面的布局 activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:

使用android studio开发工具编译GBK转换三方库iconv的方法

2020-06-01
网上大多教程和资源并没有从头到尾告诉怎么编译过程,这边文章教你一个对ndk编译懂的不多,又需要使用三方库,怎么办,硬着头皮搞,又无从下手,网上一堆资料,有价值的不多,到处是偏分的.本篇提供真实能运行,带的资源经过测试的.过程如下: 编译ICONV 1.1 解压缩 1.解压缩:  tar -xvf  ./libiconv-1.14.tar.gz  -C libiconv-1.14 2.配置:./configure --host=arm-linux-gnueabihf CC=/home/work/r

Android apk 项目一键打包并上传到蒲公英的实现方法

2020-06-01
项目一键打包并上传到蒲公英 缘由:测试流程由 打包 找包准备上传 填写更新信息 然后上传 过于复杂 所以想要简化开发 阅读须知:需要读者了解如何在项目里面建立一个空的gradle plugin的过程,否则这篇文章不适合你 开始分析 我想要的效果是精简步骤 比如说输入某个 命令 .\gradlew xxxx 就可以完成我想要的效果 那么首先我们必须得熟知或者完成以下几点: 包路径 打包完成的回调 入口设置参数 设置要传的参数 使用gradle来开发 基于以上几点开始开发 最重要的一点 打包完成的回

Android Studio 4.0 正式发布在Ubuntu 20.04中安装的方法

2020-06-01
Android Studio 4.0 已经发布了.以下是在Ubuntu 18.04,Ubuntu 19.10,Ubuntu 20.04中安装它的方法. Android Studio 4.0具有新的Motion 编辑器,改进的布局检查器,对C++的Clangd支持,智能编辑器功能,CPU Profiler的增强功能,D8和R8中使用的Java 8语言库以及更多其他更改.有关更多信息,请参见发行说明. 如何在Ubuntu中安装Android Studio 4.0: 在Ubuntu 18.04及更高版

Android Studio 4.0 新功能中的Live Layout Inspector详解

2020-06-01
最近 Android Studio 4.0 稳定版本正式发布,其中一个重要升级就是新版的Layout Inspector 旧版的Layout Inspector 4.0 之前我们通过Tools -> Android -> Layout Inspector 可以对当前进程现实中画面进行分析,获取视图的Hierarchy以及Property信息 Live Layout Inspector 4.0 通过同样的菜单可以打开新版的 Layout Inspector 运行APP后,选择当前进程,可以看到当

kotlin中object关键字的三种使用场景

2020-05-31
前言 object是Kotlin中的一个重要的关键字,也是Java中没有的.object主要有以下三种使用场景: 对象声明(Object Declaration) 伴生对象(Companion Object) 对象表达式(Object Expression) 下面就一一介绍它们所表示的含义.用法以及注意点,保证你在看完本篇之后就可以完全掌握object关键字的用法. 1. 对象声明(Object Declaration) 语法含义:将类的声明和定义该类的单例对象结合在一起(即通过object就实

Android仿抖音右滑清屏左滑列表功能的实现代码

2020-05-30
概述 ​ 项目中要实现仿抖音直播间滑动清屏,侧滑列表的功能,在此记录下实现过程和踩坑记录希望避免大家走些弯路,也当作自己的一个总结 ​ 首先看下Demo中的效果 ​ 阅读文章需要提前熟悉些事件分发的内容,相信大家都已经了解过了,网上也有很多优秀的文章,这里推荐两篇自己读过印象较深的文章 https://www.jb51.net/article/124249.htm https://www.jb51.net/article/124861.htm 关于这方面的知识,在Android中是再重要不过的了

Android Studio 4.0新特性及升级异常问题的解决方案

2020-05-29
一.升级问题 1. dataBinding开启配置修改 升级到AS 4.0以后,出现如下的预警,对于我这种有代码洁癖的人是不能忍的,必须解决 DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding' 解决方法: dataBinding { enabled = true } 这是原有的DataBinding开启方式,在升级后

Android实现手绘功能

2020-05-29
本文实例为大家分享了Android实现手绘功能的具体代码,供大家参考,具体内容如下 布局文件如下 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-au