Android基础知识
文章平均质量分 63
&岁月不待人&
每一个优秀的人,都有一段沉默的时光,那段时光是付出了很多努力的,却得不到结果的日子,我们把它叫做扎根。
展开
-
Android 分享图片和文案
如果设置,此Intent的收件人将被授予对Intent数据中的URI及其ClipData中指定的任何URI执行读取操作的权限。大多数App的需求中,有分享功能,点击唤起系统的分享栏,然后分享内容,例如指定文案,链接,图片等等。2.the.shy.world.top.one.myapplication替换为你的包路径。4.使用Intent实现分享,在intent里put Extra()图片和文本。根据控件临时生成一个图片进行分享,具体的逻辑请看实现代码,代码中有注释。2.图片拿到缓存里,用于分享。原创 2023-11-06 11:43:01 · 779 阅读 · 0 评论 -
Android 接入ttf字体文件
这样,你就可以在 TextView 中使用自定义的 TTF 字体了。确保 TTF 文件位于正确的目录并指定正确的资源引用。在字体文件准备好后,你可以在 TextView 中使用。然后实现 TTF(TrueType Font)字体文件并将其应用到 TextView。一些炫酷的App总会加一些App自己的字体。这时候需要找UI提供ttf字体文件。属性中,你可以指定 TTF 字体文件的资源引用,例如。目录下的字体文件的名称,或者使用。3. 在业务逻辑代码中。原创 2023-11-06 11:11:14 · 2459 阅读 · 0 评论 -
Android 图片翻面动画
首先新建一个翻转动画,动画时间为1000毫秒,并且绑定imageView,动画添加监听器,因为部分需求需要在动画结束后进行一些操作。下面的代码,为啥是延迟500毫秒,因为总动画为1000秒,翻面是180度,当500毫秒时,刚好开始看到背面,所以就是给用户一种流畅的卡牌翻面的效果。项目需要实现塔罗牌的翻面效果,需要点击图片后,图片实现翻面,并且翻面过程中,替换成图片资源,类似于扑克牌翻面。图片实现翻面效果,并且在动画执行到一半(刚好到图片背面的时候,进行图片替换)原创 2023-11-06 10:56:46 · 388 阅读 · 0 评论 -
Android 网络动态监听和是否联网
App内部分3.使你的BaseActivity继承NetworkListenerHelper.NetworkConnectedListener并重写onNetworkConnected方法,这样当网络变化后,就会回调此方法,你就可以进行自己的逻辑处理了。App内部分功能需要动态监听网络,获取网络信息,IP等,此外部分界面的功能需要检测是否联网才可跳转,于是自己总结了下。原理:因为当手机的网络发生变化时,广播是可以监听到的,所以可以利用这一个特性进行监听,并发送到应用所需要的地方。第三步:新建网络监听工具类。原创 2023-10-18 16:46:11 · 865 阅读 · 0 评论 -
Android 屏幕适配各种宽高比的手机
由于android 手机的屏幕宽高比样式太多了,在设计UI时,很多时候,会因为宽高比,分辨率不同会有展示上的差异。原创 2023-07-24 17:09:10 · 1920 阅读 · 0 评论 -
Andorid 实现倒计时,定时任务
private val imageList = listOf(R.mipmap.second_bg_2, R.mipmap.second_bg_ok) // 替换成你的图片资源。在Andorid的实际开发中经常会用到倒计时,无论是可见的进度条,倒计时,广告,还是背后的一些操作,今天来总结下几种倒计时的实现方法。需求是在某一段时间内,不断的切换图片的资源,因为UI没时间做动画,所以自己简单实现一下。以上就是android中,我常常用来实现倒计时的四种方式。当然你也可以使用这俩货实现定时任务。原创 2023-07-13 19:30:47 · 683 阅读 · 0 评论 -
WebView 加载不出网页,一片空白
今天在项目上加载网页时,发现一只加载不出来,emmm,就看了下以往的项目,发现遗漏的地方不止一点哦,在此做个总结。检查网页链接:确保所加载的网页链接正确,并且没有任何重定向或访问限制。4.检查网络连接:确保设备正常连接到互联网,并且可以访问所加载的网页。之前有些项目也没加过这个也能加载,不过加上也没事。原创 2023-07-05 16:24:26 · 7084 阅读 · 0 评论 -
Android RecycleView列表使用GridLayoutManager 均分子项Item,且左右宽度相同
但是我们直接设置的时候,他的子项会在给他的布局的左边,于是我想到了设置下子项的左右边距,但是android手机屏幕太多种类型了,所以在部分手机上,也不大行。列表分为一列两个,两个子项宽度一致,且左右边距一样,就是要好看,子项宽度适配手机,高度适配宽度。之前是设置decoration,发现不太行,还是得适配手机宽度才行。上面我减去了40dp,就是为了美观点,不然两个子项直接怼一起了,很丑哦~~既然要匹配手机屏幕宽度,那就让手机宽度来决定子项宽度。当然,如果每个子项的宽会随内容改变,建议使用流布局哈。原创 2023-07-05 14:56:58 · 1751 阅读 · 0 评论 -
Android 实现透明度
Color类有个方法 Color.argb((alpha, red, green, blue),其中为透明度和三原色,他们的取值都是0~255,所以,十六进制的计算就和这个0~255有关,所以,16的透明度,就等于0.16乘以255约等于41,41的十六进制就是2个16再加个9,就是29.开发时,UI上的一些布局总需要设置他是有一定的透明度的,有些UI不会给AHEX的代码,只有无透明度的HEX颜色代码,我也懒得去算,每次都要去网上查,所有今天自己总结一份,下次懒得再去找了。原创 2023-07-04 10:21:23 · 2013 阅读 · 0 评论 -
Android Permission 权限申请,EasyPermission和其他三方库
Android中的权限申请是通过应用程序与操作系统之间的交互实现的。在Android中,每个应用程序都被赋予了一组预定义的权限,这些权限定义了应用程序可以执行的操作范围,例如访问摄像头、读取联系人、发送短信等。当应用程序需要执行需要特定权限的操作时,它必须在运行时向操作系统请求这些权限。在应用程序的清单文件(AndroidManifest.xml)中,开发者需要声明应用程序所需的权限。这些权限声明描述了应用程序需要的访问级别。例如,如果应用程序需要访问设备的摄像头,开发者需要在清单文件中声明相应的权限。原创 2023-05-25 15:13:10 · 6298 阅读 · 0 评论 -
Android 实现控件对称布局(约束布局和线性布局)
画界面时会遇到很多界面上的布局,虽然很简单,但是每次做起来不熟练,总结一下一些日常的。方法一、用约束布局的guideLine;方法二:线性布局,都知道线性布局要么水平要么垂直,当要求其子控件均匀排列,或者按一定比例占据父容器的宽高时,可用到其weight属性原创 2023-04-11 10:24:57 · 1178 阅读 · 0 评论 -
Android 字符串替换,去除空格等操作
Object作为String的父类,因为String重写了equals方法,所以,在String中,内容相同也返回true。object中是直接判断对象,返回true/false,string中,先判断是否是同一对象,不是则又去判断长度,再去一一比对值,源码很简单,可以去看一下。后面才发现Kotlin使用的是自己的String,有自己的方法,用String的replace(" ","")方法也可以替换里面所有的空格。若长度相同,则按照数组value中的每一位进行比较,不同,则返回false。原创 2023-02-21 21:10:48 · 3341 阅读 · 3 评论 -
Android动画 补间动画
补间动画:属于Android中View动画的一种,就是涵盖了 平移、缩放、旋转 和 透明度四种变化的动画。实现方式有两种:xml文件 和 java代码。四种补间动画分别为、、、,他们的父类为Animation。原创 2022-12-08 16:41:44 · 1608 阅读 · 0 评论 -
Android动画之帧动画
帧动画就是顺序播放一组预先定义好的图片,就类似于我们观看视频,就是一张一张的图片连续播放。当播放速度达到一定速度后,就会在视觉上看起来像视频播放一样。“人眼舒适放松时可视帧数是每秒24帧,集中精神时不超过30帧,眨眼时睁开眼瞬间可以捕捉到的帧数是30帧以上,为了性能优化,一般稍大于30帧就差不多了,当然,现在的手机,一般为60帧,又些可以开到120帧,每秒刷新120次,在界面切换和浏览各种界面时会流畅很多,当然带来的就是消耗更多的资源。原创 2022-11-18 12:01:21 · 5351 阅读 · 0 评论 -
Android 图片Loading旋转动画效果
在数据请求或者一些加载的页面中,总需要一些过度的动画效果,很多时候我们都可以在图片中间加一个loading的旋转图片,以前也做过,今天做的时候噼里啪啦敲了半天结果运行没效果,所以今天总结下这个啷个做的。eg:animation只是操作View 的位图表示(bitmap representation),而不是真正的改变View的位置,位图就是bitmap,关于bitmap,可以去好好学习一下!例子:我们要加载一个webView,需要在加载前的空白页面中间加一个旋转的loading图片,结束后就消失。原创 2022-10-11 23:39:28 · 3608 阅读 · 0 评论 -
Android 底部导航栏(一、BottomNavigationView+Menu+Fragment)
现在常用的App主页都会有一个底部导航栏,根据需求也使用过好几种方法进行实现,于是想着还是总结一下,今天还写一个简单的BottomNavigationView方法来实现这个功能它是android原生的一个底部导航框架,一般和Fragment一起使用。xml布局:最外层的layout不用管,那是databinding框架的根布局,主要的布局FrameLayout来装载fragment列表,BottomNavigationView实现底部导航栏,最后监听绑定实现点击切换其中BottomNavigation原创 2022-06-29 17:38:47 · 13919 阅读 · 18 评论 -
关于RecycleView的getPosition(),getAdapterPosition()过时和getBindingAdapterPosition、getLayoutPosition..的总结
关于RecycleView的getPosition(),getAdapterPosition()过时和getBindingAdapterPosition.getLayoutPosition(),getAbsoluteAdapterPosition()方法的区别和使用总结原创 2022-06-27 17:18:06 · 5705 阅读 · 0 评论 -
Android TabLayout的使用与总结
TabLayout是Android中的一个控件,常和ViewPager搭配使用,运用于tab切换viewpager,Google在升级了AndroidX之后,将TabLayout迁移到material包的com.google.android.material.tabs.TabLayout原创 2022-06-22 11:40:56 · 2163 阅读 · 0 评论 -
Android 监听键盘输入(实现搜索、发送、完成等等)
在Android App的实际开发中,时常会需要监听软键盘的输入事件。可通过三种方法进行监听,即dispatchEvent,KeyListener,setOnEditorActionListener这三种方式例如:微信和QQ聊天的消息发送,你会发现他的聊天框并没有发送的控件,软键盘的换行或者某个按钮会变成发送;在某些浏览器的输入框,输入内容后,软件盘的某个按钮会有搜索的字样,还有填写内容时的完成按钮等等,这些都可以通过监听键盘和输入框的一些配置实现这些功能。原创 2022-05-31 20:52:14 · 8796 阅读 · 0 评论 -
Android 设置Padding和Margin(动态/静态)
一、什么是padding,什么是margin?在Android界面开发时,为了布局更加合理好看,很多时候会用上Padding和Margin,padding和margin是什么呢?即内边距和外边距;某个View指定为padding是针对该View里面的子View距离该View距离而言的,或者是里面的内容距离容器的距离。某个View指定为margin是针对该View本身距离别人或者父View而言的。例如下图,输入框里面的文字内容,如果不设置内边距,那么就会紧挨左上角,这样看起来,就很不友好,原创 2022-05-17 21:20:09 · 16393 阅读 · 1 评论 -
Android gradle.properties 基础使用和常规配置
1.什么是Gradle?Gradle 是一个开源构建自动化工具,其设计足够灵活,可以构建几乎任何类型的软件。2.什么是gradle.properties?在Android中,1.在使用Android Studio新建Android项目之后,在项目根目录下会默认生成一个gradle.properties文件,它是由IDE自动生成的gradle.properties文件。2.他是项目级别的Gradle配置文件,gradle.properties里面定义的属性是全局的,可以在各个模块的build.原创 2022-04-20 16:17:29 · 12321 阅读 · 0 评论 -
Android EditText输入框的使用(很详细很基础)
关于Android手机的各类输入框,在编辑多行文本,文本块,统一使用的是EditText,这也是我们使用的最多的常用控件之一,在此做一个简单的总结。一、基础属性首先,EditText作为一个控件,他是继承于View的,所以他具有View的很多属性及方法。当然,现在出了个AppCompatEditText,它是继承于EditText的,加了一些外观的处理,其余的用法那些一模一样。在写Xml界面时,我们可以通过Android:,tools:,自定义属性等等为其定义各种属性。这些属性可以确定他的..原创 2022-03-28 16:37:04 · 5809 阅读 · 0 评论 -
Android Studio 的右侧Gradle为空
问题:自己写的库需要传到maven库,结果需要在右侧gradle进行操作时,发现里面毛都没有。解决方法:一、以往在出现此问题时,我是直接sync一下就行了结果今天并没有成功,emmmm,肯定是换了电脑,以前的设置没了,于是。。。。二、于是进入Preference/ Settings把这儿的勾勾去掉就行了,然后apply ,然后再sync一下就行了三、运行后该有的都有了,自行操作吧...原创 2021-09-14 20:16:12 · 1252 阅读 · 0 评论 -
Android Studio自定义res文件
进入新公司后,发现项目很大,但是里面的res资源文件夹分成了很多个,这样更有益于大量繁杂的资源分模块管理,于是自己准备搞一个,糊里糊涂的弄了好一会儿才弄起,好的东西记得记录和分享,冲冲冲!1、实现目标2.找到main 新建文件夹,自己取个名字,我这儿随便取个res_ins3.创建你会发现这就是个普通文件,接下来,找到项目的build.gradle文件,添加资源文件配置 sourceSets,把自己创建的文件写进去就行,把build.gradle文件sync一下4.项目同步后就会.原创 2021-08-11 20:24:45 · 1452 阅读 · 3 评论 -
Android Studio 快速获取get,set方法
在写实体类的时候,对每一个字段的get和set方法一个一个敲那是相当难受啊!那这边如何快速的set,get或者生成构造函数,生成toString方法。有两种方式:方式一:Code-->Generate方式二:通过快捷键Alt+Insert这时,在弹出的对话框中就可以选择你所需要的字段生成就行了,也可以直接Ctrl+A 全部生成。...原创 2021-03-19 18:19:32 · 860 阅读 · 0 评论 -
Android 布局和Activity属性大全
目录控件常用属性第一类:属性值为true或false第二类:属性值必须为id的引用名“@id/id-name”第三类:属性值为具体的像素值,如30dip,40px常用属性textview属性汇总androidactivity属性汇总androidedittext属性汇总relativelayout布局java中修饰符总结:控件常用属性android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料。第一类:属性值为...原创 2020-12-11 20:15:01 · 720 阅读 · 0 评论 -
Android控件 TextView属性大全
一、TextViewTextView控件一般是用来显示文本二、如何使用在layout布局里直接引用:<TextView android:gravity="center_horizontal" android:id="@+id/tv_moneytext" android:layout_width="match_parent" android:layout_height="wrap_content"原创 2020-12-11 19:38:35 · 1032 阅读 · 0 评论 -
Android Studio 快捷键整理
一、Android Studio 快捷键整理常用快捷键Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl+空格 代码提示Ctrl+...转载 2020-12-11 18:42:41 · 525 阅读 · 0 评论 -
ADB命令查看应用包名
一、查看当前包名1、在手机上打开app2、电脑端Crtl+R 输入cmd回车 输入命令:adb shell dumpsys window w |findstr \/ |findstr name=3、如下图,我在手机上打开了今日赚(一款赚零花钱的悬赏任务类App),查出来的包名应用名:其中 com.im.todayz为应用包名 ,fw.earntoday.ui.activity.MainActivity为当前运行的activity界面二、查看所有包名1. 依旧数据线连接手机,注...原创 2020-11-03 09:50:02 · 55233 阅读 · 4 评论 -
什么是dependencies闭包及其关键字详解
项目里的build.gradle导了很多包,在依赖dependencies里有很多不同的关键字,在此分别记录一下。dependencies闭包的整体功能是指定当前项目所有依赖关系:本地依赖、库依赖及远程依赖。本地依赖:可以对本地Jar包或者目录添加依赖关系库依赖:可以对项目中的库模块添加依赖关系远程依赖:可以对jcenter库上的开源项目添加依赖,标准的远程依赖格式是:域名:组织名:版本号implementation fileTree(dir: 'libs', include: [原创 2020-09-29 09:38:19 · 1260 阅读 · 0 评论 -
Android和Java面试重点复习整理
yangchong大佬的汇总:https://blog.csdn.net/m0_37700275/article/details/100050647Activity:Activity生命周期和Fragment介绍Activity启动模式:https://blog.csdn.net/LoveFHM/article/details/83119156Fragment的具体实现及应用(进阶):https://blog.csdn.net/LoveFHM/article/details/106382545原创 2020-06-10 09:10:39 · 264 阅读 · 0 评论 -
Android基础--kotlin(一)
1.什么是Kotlin?kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势1. 简洁它大大减少你需要写的样板代码的数量。2. 安全避免空指针异常等整个类的错误。3. 通用构建服务器端程序、Android 应用程序或者在浏览器中运行的前端程序。4. 互操作性通过 100% Java 互操作性(100%兼容),可可以直接调用Java代码,可以无缝使用Java库。2.如何构建项目?因为原创 2020-11-03 09:55:50 · 214 阅读 · 3 评论 -
(二)Android Studio中的日志工具—Log
1.什么是Log?其实在Android API中,提供了一个日志工具类android.util.Log,通过这个类我们可以以不同的级别输出日志,Android的Log等级通常有五类,按照日志级别由低到高分别是Verbose、Debug、Info、Warning、Error 级别 输出方法 Verbose Log.v Debug Log.d Info原创 2020-09-04 19:13:10 · 1074 阅读 · 0 评论 -
Android 基础知识总结(一) build.gradle文件
接触Android开发还是有些日子了,工作了也没时间写博客。最近静下心来总结下一些基础知识。1.什么是build.gradle1.AS是通过Gradle来构建项目的,Google推荐使用的Android Studio是采用Gradle来构建项目的。Gradle是一个非常先进的项目构建工具。2.Gradle是用了一种基于Groovy的领域特定语言(DSL,Domain Specific Language)来声明项目设置,摒弃了XML(如ANT和Maven)的各种繁琐配置。3.项目中一般会出现2原创 2020-09-03 01:24:03 · 780 阅读 · 1 评论