Android

Android ExpandableListView使用方法案例详解

2021-08-22
目录 一.前言 二.实现的功能 三.具体代码 1.主xml代码 2.父布局xml代码 3.子布局xml代码 4.主activity代码 5.adapter代码 一.前言   "好记性不如烂笔头",再次验证了这句话是真的很有道理啊,一个月前看了一下ExpandableListView的使用,今天再看居然忘了这个是干啥的了,今天就详细讲解一下ExpandableListView的使用方法,感觉对于二级条目显示功能都可以实现. 二.实现的功能 1.可实现二级列表条目显示功能,具体包括可自定义

Android自定义软键盘的步骤记录

2021-08-22
目录 效果图 实现自定义软键盘 1.通过xml定义键盘 2.将xml文件与keyboardview绑定起来 3.处理点击事件onKey 附赠一些实用的效果处理 总结 效果图 还是咱们的老规矩,先放最终效果图

Android多返回栈技术

2021-08-22
目录 1.系统返回按钮的乐趣 2.Fragment 中的多返回栈 3.排除 Fragment 在技术上的障碍 4.Fragment 中值得期待的地方 4.使用 Navigation 将多返回栈适配到任意屏幕类型 5.在 Navigation 中启用多返回栈 5.保存状态,锁定用户 1.系统返回按钮的乐趣 无论您在使用 Android 全新的 手势导航 还是传统的导航栏,用户的 "返回" 操作是 Android 用户体验中关键的一环,把握好返回功能的设计可以使应用更加贴近整个生态系统.

Flutter给控件实现钻石般的微光特效

2021-08-21
效果图 使用方法 Shimmer( baseColor: const Color(0x08ffffff), // 背景颜色 highlightColor: Colors.white, // 高光的颜色 loop: 2, // 闪烁循环次数,不传默认一直循环 child: Image.asset('assets/images/watermelon.png',width: 325, height: 260, fit: BoxFit.contain), ) 实现原理 ① 特效控件分为两层:底层显示调用

Android自定义view之3D正方体效果实例

2021-08-21
目录 前言 一.小提 二.将传感器改成事件分发机制 三.使用 四.源码 总结 前言 在之前写了一篇关于3D效果的文章,借助传感器展示,有小伙伴问可不可以改成手势滑动操作(事件分发),所以出一篇文章 传感器相关文章链接:Android 3D效果的实现 一.小提 相对于常见的自定义view而言,继承的GLSurfaceView只有两个构造函数.可以理解为没有提供获取自定义属性的方法. public TouchSurfaceView(Context context) { super(context);

详解Android壁纸服务的启动过程

2021-08-20
壁纸基础 android中的壁纸分为动态壁纸和静态壁纸两种,两种类型的壁纸都以Service的类型运行在系统后台. 静态壁纸:仅以图片的形式进行展示对于静态壁纸,可以使用WallpaperManager中的getDrawable()等接口获取到当前的bitmap图像. 动态壁纸:显示的内容为动态的内容,同时可以对用户的操作做出响应对于动态壁纸的实时图像,是没办法通过android中原生的接口获取到,需要获取到动态壁纸的图像得自己修改源码. 壁纸实现时涉及的几个主要的类: WallpaperSer

Android BindService使用案例讲解

2021-08-19
最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现. BindService和Started Service都是Service,有什么地方不一样呢: 1. Started Service中使用StartService()方法来进行方法的调用,调用者和服务之间没有联系,即使调用者退出了,服务依然在进行[onCreate()-  >onStartCommand()->startService()->onDes

解决java.lang.NoClassDefFoundError: android.support.v4.animation.AnimatorCompatHelper问题

2021-08-19
在开发过程中,有的时候引入了多个三方库.在调用的时候会出现版本对应不上的原因.就会出现如标题的异常.解决的办法就是在你的build.gradle里面加入如下代码块: configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.supp

怎样才能导入别人的android项目不再报错

2021-08-19
直接run别人的项目 手动导入 1.去到要导入项目的目录下把.idea,*.iml,local.properties删除(*表示所有) 2.进入app文件夹同理把build, *.iml删除 3.打开已经run成功的项目的build.graid把classpath:这整句复制,去要导入的项目中打开build.graid进行替换. 4.打开gradle\wrapper\gradle-wrapper.properties复制最后一句,去到要导入的项目进行替换. 5.改version 6.导入项目 确

详解Matisse与Glide--java.lang.NoSuchMethodError:com.bumptech.glide.RequestManager.load

2021-08-18
问题描述 在使用 Matisse 与 glide 4.0.0 以及 4.0.0 之后的版本过程中,发现通过 Matisse 的 wiki 代码调用选取图片的方式后,会出现本文标题的错误 1.以下为 wiki 调用代码: Matisse.from(MainActivity.this) .choose(MimeType.allOf()) .countable(true) .maxSelectable(9) .addFilter(new GifSizeFilter(320, 320, 5 * Filt

Android毕业设计记事本APP

2021-08-18
目录 前言 功能概述 系统设计 启动界面 引导界面 更改口令界面 主界面和编辑界面 1 建表 2 添加便签 3 在主界面显示便签 4 再次编辑该便签 5 主界面和编辑界面布局 前言 该设计是一款轻量级的便签工具,使用Android Studio开发,风格简练,可实现便签的添加.删除.修改.查看功能.为保证一定的安全性,设置了进入口令,类似于应用锁,用户可以修改口令.主要使用的技术有共享参数.数据库.SwipeRefreshLayout控件. 功能概述 用户打开应用后,启动页会判断用户是否第一次打

轻松实现Android3D效果通俗易懂

2021-08-18
目录 一.先看看聊天(需求) 二.实现效果 三.实现 1.通过getSystemService获得SensorManager实例对象 2.通过SensorManager实例对象获得想要的传感器对象:参数决定获取哪个传感器 3.在获得焦点时注册传感器并让本类实现SensorEventListener接口 4.必须重写的两个方法 5.在失去焦点时注销传感器(为Activity提供调用) 6.draw方法中的方发详解 四.需求中的青黄色参数 五.源码 文章最后将会贴出源码(照顾新手附加注释) 一.先看

Android毕业设计备忘录APP

2021-08-18
目录 1.系统需求分析 1.2 系统需求 功能&说明 1.3 该项目涉及到的技术点 2.数据存储设计 2.1 SharedPrefenrences/SQLite存储介绍 SharedPrefenrences : SQLite存储 2.2数据表结构 3.具体编码及截图 3.1 主界面 3.2 各功能模块 4 总结 源码放到GitHub上了,大家可以看一下 https://github.com/become-better1/hh 1.系统需求分析 1.1 系统功能及框图 该项目实现了备忘录的创建,修

python只需30行代码就能记录键盘的一举一动

2021-08-18
目录 先看看效果 一.公共WiFi 公用电脑什么的 二.键盘记录器 三.python代码实现 1.安装pynput模块 2.脚本完整代码 3.启动脚本 4.登录126邮箱 抓取用户信息 四.安全提示 先看看效果 Like This↓ 一.公共WiFi 公用电脑什么的 在我们日常在线上工作.玩耍时,不论开电脑.登录淘宝.玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝.百度.126邮箱等等 为了保护用户信息 登录时,输入框都是不可见的. 但是,输入框都在界面上隐藏,让我们看不到,就能真正的确

Android自定义加载框效果

2021-08-18
本文实例为大家分享了Android自定义加载框效果的具体代码,供大家参考,具体内容如下 效果图 菊花图标(mipmap-xxhdpi) 加载框圆角背景drawable <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectang

Android notifyDataSetChanged() 动态更新ListView案例详解

2021-08-18
有时候我们需要修改已经生成的列表,添加或者修改数据,notifyDataSetChanged()可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新ListView.今天的例子就是通过Handler AsyncTask两种方式来动态更新ListView. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sc

Android利用DownloadManager实现文件下载

2021-08-18
Android中文件下载,app更新,我们一般利用的都是 Retrofit或者 Okhttp等实现,但其实Android 早在API 9之后,就为我们提供了DownLoadManager,这是Android提供的系统服务,通过这个服务下载文件,整个过程全部交给了系统负责,免去了我们别的操作. 下面我们就来实地演示一下操作. 测试api sdk28, Android Studio3.4 小米5s Plus 代码如下: //定义一个成功接口 public interface IDownloadlis

android轮播图组件的制作方法

2021-08-18
本文实例为大家分享了android轮播图组件的制作方法,供大家参考,具体内容如下 BannerLayout package com.coral3.common_module.components; import android.content.Context; import android.os.Handler; import android.os.Message; import android.util.AttributeSet; import android.view.LayoutInfla

Mac Android Studio安装图文教程

2021-08-18
目录 一.下载地址 二.Proxy设置 三.Gradle配置 四.SDK配置 五.SDK System Images 一.下载地址 有用的网站:http://www.androiddevtools.cn/直接下载dmg文件解压然后一步步next就好 二.Proxy设置 Android Studio -- Preferences -- HTTP Proxy,网上可以搜到很多,这里我用的是: Host Name:mirrors.neusoft.edu.cm 端口号:80 三.Gradle配置 还是刚

Android报错Error:Could not find com.android.tools.build:gradle:4.1解决办法

2021-08-17
看字面意思,这个问题是Gradle没有对应版本.在搜索引擎没有找到方法之后,尝试自己解决. 有一点很重要,先保证自己的Android Studio是最新的稳定版本! 因为版本更新会修复很多bug,说不定遇到报错就是某个bug引起的. Could not find com.android.tools.build:gradle:3.0.0. 首先,看报错,大概是长这样的: Error:Could not find com.android.tools.build:gradle:4.1. Searche