
Android进阶知识
文章平均质量分 76
主要对Android的一些开发进阶,积累一些常见BUG的解决方法,还有一些最新框架的积累,以及炫酷的框架。
yyxhzdm
通过近些年的学习,在Android、Java、微信小程序、uniapp等开发都有些心得体会。最近开始接触HarmonyOS原生以及ArkUI框架的开发...
展开
-
Android 两个版本比较大小
我们是一位一位的比较 如:9.0.10.331布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation原创 2022-02-16 22:45:23 · 1585 阅读 · 0 评论 -
Android 验证码输入框,方块且输入后变换颜色
效果图:1、添加编辑框引用 SplitEditTextimplementation 'com.king.view:splitedittext:1.0.0'2.Activity的先关代码(1)。xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://原创 2021-11-30 17:12:39 · 2128 阅读 · 0 评论 -
Android 自定义VIew实现设置防截屏、添加水印
一、自定义VIew,添加VIew的带文字斜体的背景:MarkBgViewpackage com.zdmtech.backgroundtextdemo;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.ColorFilter;import android.graphics.Paint;import androi原创 2021-11-30 16:48:00 · 3831 阅读 · 0 评论 -
Android 实现图片相册选择+拍照,并在选中的图片右上角添加删除图标。
效果图:一、在app的build中引入相应的框架//recyclerviewimplementation "androidx.recyclerview:recyclerview:1.1.0"//glideimplementation "com.github.bumptech.glide:glide:4.10.0"implementation "com.github.bumptech.glide:compiler:4.10.0"//导入相册多图片选择库implementation .原创 2021-11-30 16:31:13 · 7299 阅读 · 6 评论 -
Android Service的简单使用与生命周期说明
一、Service的启动分为startService和BindService1.startService启动服务,Activity与Service是生命周期互不影响,如果通信可以使用广播2.BindService启动服务,Activity与Service中间有一个连接,要使连接成功,onBind()必须返回一个IBinder对象。3.创建一个Service,import android.app.Service;import android.content.Intent;import原创 2021-11-29 15:04:40 · 492 阅读 · 0 评论 -
Android BroadcastReceiver广播简单使用
1.创建 BroadcastReceiver/** * 广播监听 */private class ScrosReceive extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.e("BroadcastReceiver" ,"第一个页面,监听到广播,做相应的数据处理"); scros = intent.ge原创 2021-11-29 11:30:08 · 470 阅读 · 0 评论 -
Android使用Viewpager2+Fragment+BottomNavigationView实现底部菜单栏的切换模块的样式。
效果图:实现步骤:1.首先在app的builde文件中引用ViewPager2implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha01'2.添加首页的布局xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andr..原创 2021-11-25 17:18:03 · 1096 阅读 · 1 评论 -
Android RecyclerView的ByRecyclerView框架详解与使用
一、引入及设置1.二、Item ChildItem的点击事件与长按事件1.原创 2021-05-28 17:03:04 · 915 阅读 · 1 评论 -
最新权限框架,适配到android11
集成步骤1.在项目根目录下的build.gradle文件中加入buildscript { repositories { maven { url 'https://jitpack.io' } }}allprojects { repositories { maven { url 'https://jitpack.io' } }}2.在项目 app 模块下的build.gradle文件中加入android { ...原创 2021-05-26 17:41:41 · 2428 阅读 · 10 评论 -
Android灵活强大的循环适配器BaseRecyclerViewAdapterHelper
集成步骤:1.先在项目 build.gradle(Project:XXXX) 的 repositories 添加:maven { url "https://jitpack.io" }2.然后在 build.gradle(Module:app) 的 dependencies 添加:implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.1'3.xml布局<?xml version="1.0"原创 2021-05-24 17:08:17 · 670 阅读 · 9 评论 -
Android 输入框SplitEditText
效果:1.项目moudle的build中集成//AndroidXimplementation 'com.king.view:splitedittext:1.0.0'2.如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:allprojects { repositories { maven { url 'https://dl.bintray.com/jenly/maven' } }}3.添加布原创 2021-04-27 11:07:17 · 554 阅读 · 0 评论 -
Android 自定义评论回复view
先上效果图:一、创建xml1.android_ceshi_activity<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas..原创 2021-04-16 13:54:31 · 519 阅读 · 0 评论 -
Android 文字显示实现全文与收起
效果图:1.布局文件1 :showmore.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientatio原创 2021-04-07 13:49:07 · 460 阅读 · 0 评论 -
Android开源音视频播放器
原文链接:https://blog.youkuaiyun.com/u012246458/article/details/83620456需求:搜集到的github常用的视频和音频播放器,其中前三个是比较常用的播放器。第四个和第五个是比较直白的用法。1.ijkplayer项目地址:https://github.com/Bilibili/ijkplayer介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集.转载 2021-03-10 11:49:46 · 1671 阅读 · 1 评论 -
Android ViewPager2基本使用方法
启言:添加ViewPager2依赖implementation "androidx.viewpager2:viewpager2:1.0.0"一、ViewPager2基础使用,实现左右滑动1.xml布局文件 <androidx.viewpager2.widget.ViewPager2 android:id="@+id/viewPager2" android:layout_width="match_parent" android:layo.原创 2021-02-24 14:43:48 · 1036 阅读 · 2 评论 -
Android使用RecycleView来实现数据的上下拖动效果
首先先上效果图1.在moudle中的build引用implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha06'2.创建列表的adapterpublic class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<Subject> datas; private Conte原创 2021-02-23 15:38:22 · 758 阅读 · 0 评论 -
Android数据库LitePal的基本使用
前言:LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表和増删改查的操作。1.首先app/build.gradle添加依赖implementation 'org.litepal.android:java:3.0.0'2.配置初始化LitePal(1).AndroidManifest清单文件中添加<manifest> <appli..转载 2021-02-21 18:28:14 · 299 阅读 · 0 评论 -
实现联系人功能,右侧A~Z滑动
先上效果图1.需要字Build中引用//将文字转化为汉语拼音implementation 'com.belerweb:pinyin4j:2.5.1'implementation 'com.android.support:recyclerview-v7:28.0.0'2.创建 Cn2Spell 类/** * 汉字转换位汉语拼音,英文字符不变 */public class Cn2Spell { public static StringBuffer sb = new S原创 2021-02-20 18:28:31 · 1431 阅读 · 6 评论 -
自定义双线性与柱状统计图
啥都不说,先上效果图:1.总共三个小demo,先说图1一、自定义曲线与柱状图的类(1).BarChartView 柱状public class BarChartView extends View { private Context mContext; private Paint mPaintBar; private Paint mPaintLline; private Paint mPaintText; //柱状条对应的颜色数组 pri原创 2021-02-19 16:08:50 · 423 阅读 · 0 评论 -
Android 状态栏背景设置与状态栏背景图片的延伸?
效果图: 首先将styles文件的AppTheme改为无标题栏 即:<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">一、Android1.状态栏背景图片的延伸:首先设置实现方法 fullScreen()/** * 通过设置全屏,设置状态栏透明 */private void fullScreen(Activity activity) { if (Build.VER...原创 2020-12-31 14:07:31 · 1880 阅读 · 0 评论 -
Android RecycleView实现左滑删除的两种方式?
效果图:在build中引用RecycleView//引入recycleViewimplementation 'androidx.recyclerview:recyclerview:1.2.0-beta01'两种方式一、自定义 左滑菜单帮助类ItemSlideHelper/** * 左滑菜单帮助类 */public class ItemSlideHelper implements RecyclerView.OnItemTouchListener, GestureDetecto.原创 2020-12-15 14:55:28 · 2819 阅读 · 2 评论 -
Android 实现公告上下滚动效果?
1.自定义ViewMarqueeTextViewpackage com.ruidde.jz.utils;import android.content.Context;import android.text.TextUtils;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.view.animation.Animati原创 2020-11-11 14:51:07 · 776 阅读 · 0 评论 -
Kotlin ViewPager与Fragment实现一页多状态效果?
一、效果图 二、实现步骤1.Build中添加引用//viewpager2implementation "androidx.viewpager2:viewpager2:1.0.0"//tabimplementation 'com.google.android.material:material:1.2.1'2.布局activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearL...原创 2020-10-21 10:44:47 · 766 阅读 · 0 评论 -
Android 时间日期与时间戳相互转化,其特殊时间格式的转化?
一、正常日期与时间的转化/* * 将时间戳转换为时间 * * s就是时间戳 */public static String stampToDate(String s) { String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //如果它本来就是long类型的,则不用写这一步 long lt = new Long(s); D原创 2020-10-09 15:09:36 · 4708 阅读 · 0 评论 -
Android 自定义实现Banner广告轮播效果?
一、很多的项目中都需要实现Banner位滚动展示图片的效果,我这里使用了ViewPager和RadioGroup封装了一个带指示器功能的Banner视图二、自定义Banner视图类(Banner )public class Banner extends RelativeLayout { private ViewPager viewPager;//滚动显示的viewpager private List<View> views;//显示的图片集合 private原创 2020-09-29 13:34:55 · 364 阅读 · 0 评论 -
Android 动态获权+Glide图片加载+缓存SharedPreferences使用
1.首先在module下的build中添加依赖包dependencies { .... //图片加载框架 implementation 'com.github.bumptech.glide:glide:3.6.1' implementation 'com.zhihu.android:matisse:0.5.2' }2.由于使用动态获权,则需要在AndroidManifest中添加相应的权限<uses-permission android:nam原创 2020-09-25 19:43:35 · 808 阅读 · 0 评论 -
Android 自定义时间日期选择器?
效果图: 1.主要引用 checkdate//添加自定义日期选择implementation project(path: ':checkdate')2.activity调用package com.ruidde.csdntestdemo;import android.annotation.SuppressLint;import android.content.Context;import android.os.Bundle;import android.v...原创 2020-09-25 17:19:43 · 3164 阅读 · 1 评论 -
Android scale实现的几种简单的动画效果?
效果图:1.xml布局一样<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#F原创 2020-09-25 10:08:28 · 669 阅读 · 0 评论 -
Android 数据的上拉加载与下拉刷新?
效果图: 1.在项目build中添加引用//数据加载与刷新implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'2.xml布局(1).布局activity_main:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.c...原创 2020-09-23 18:11:27 · 694 阅读 · 0 评论 -
Android RadioGroup和Fragment实现底部菜单结构的首页?
效果图:原创 2020-09-22 15:15:26 · 301 阅读 · 0 评论 -
Android BadgeView未读信息红点提醒?
效果图:1.在lib中添加Jar包(badgeview.jar)并在build中添加//添加badgeview框架implementation files('libs/badgeview.jar')2.xml布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" androi原创 2020-09-22 14:11:06 · 427 阅读 · 0 评论 -
Android 自定义环形进度条、环形刷新Doalog、水平进度、性别选择与Title
一、自定义环形进度条效果图:1.创建自定义CircleProgressView 类package com.ruidde.pictureselectordemo.units;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.Sty原创 2020-09-22 11:23:06 · 416 阅读 · 0 评论 -
Android ProgressDialog弹框的两种用法?
一、效果: 二、(进度条风格,风格为圆形,旋转的)和(进度条风格,风格为长形)1.XML文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" ...原创 2020-09-22 09:36:55 · 617 阅读 · 0 评论 -
Android 两种动态获权的方法?
一、自定义动态获权1.创建BaseActivity,将动态获权代码进行编写package com.ruidde.pictureselectordemo.base;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;原创 2020-09-21 18:29:12 · 394 阅读 · 0 评论 -
Android 压缩文件,压缩图片,压缩Bitmap(****)
原创下载地址:https://github.com/nanchen2251/CompressHelper特点:1、支持压缩单张图片和多张图片使用方法1、添加依赖Step 1. Add it in your root build.gradle at the end of repositories:allprojects { repositories { ... maven { url 'https://jitpack.io' } } }Step 2. Add原创 2020-09-26 17:59:26 · 440 阅读 · 0 评论 -
Android最新获取头像的选择器(相册与拍照)?
效果图:集成步骤:1.首先在项目build中添加allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } }}2.在module下的build添加依赖(最新版本见PictureSelector)implementation 'com.github.wildma:PictureSelector:2.1.0'.转载 2020-09-26 17:57:03 · 590 阅读 · 0 评论 -
Android图片相册选择与拍照?
实现效果:/** * 照相或者选择图片 * 引用ImageSelector框架, * 1.需要在Project的build.gradle在添加以下代码: * allprojects { * repositories { * ... * maven { url 'https://jitpack.io' } * maven { url 'https://maven.google.com' } * } * } * 2.在Module的build.gradle在添加以下代码: *原创 2020-09-17 16:39:18 · 423 阅读 · 0 评论 -
Android 图片慢慢展开、慢慢折叠与向下展开的功能?
实现的的效果描述:一开始是完全显示的,然后高度慢慢减少,图片自上而下消失。还有就是左右慢慢展开分析:这个效果看似很简单,但是实际上根据常规的android机制,是很难以实现的。解决方案想了很久,突然联想到MeasureSpec的三种情况(自适应,合父布局一样和绝对大小)。感觉图像设置为绝对大小并且靠底部对齐。然后自上而下减少外布局高度,应该可以实现效果。一、慢慢折叠与向下展开动画1.自定义绝对大小的Imageviewpackage com.ruidde.csndreso原创 2020-09-16 17:42:31 · 1068 阅读 · 0 评论 -
Android 图片的放大与缩小、Glide实现图片圆角、圆形、高斯模糊等功能,图片3D倒影显示。
一、图片的放大与缩小1.图片实现缩放的Activcitypackage com.ruidde.csndresourcedemo.enlargenarrow;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;import androidx.viewpager.widget.ViewPager;import原创 2020-09-16 16:39:34 · 1495 阅读 · 0 评论 -
Android各种时间选择器与日历?
一、实现多种时间选择器1.点击跳出弹框,选择年月日(使用到units目录下的menPopupWindow类)package com.ruidde.csndresourcedemo.units;import android.content.Context;import android.graphics.drawable.BitmapDrawable;import android.view.Gravity;import android.view.LayoutInflater;imp原创 2020-09-16 11:50:25 · 2004 阅读 · 0 评论