自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Android 自定义解析html标签

解析类自定义html 标签样式.

2024-04-09 15:27:23 217

原创 RecyclerView实现包含倒计时的列表

功能:1.包含计时器的 RecyclerView 列表2.支持刷新和加载更多(分页加载)效果图: 实现思路:内部维护一个 map, key 为 adapter 绑定数据模型的唯一 id, value 为绑定的数据模型,map 保存需要更新倒计时的 model,启动一个定时器, 每个间隔周期遍历一次 map, 取出 map 中数据, 更新 model 的倒计时属性, 最后局部更新 item.主要代码 adapter :全部代码地址:https://github.com/QQQQQQY/RecyclerV

2022-06-09 11:13:51 552

原创 Android 圆角的另一种实现方式(抗锯齿)

先看下效果图:实现代码:package com.example.myapplication.roundImageimport android.content.Contextimport android.graphics.*import android.util.AttributeSetimport android.view.View/** * @Author: qqyang * @Date: 2021/12/2 * @Description: */class Custo

2021-12-03 16:35:22 1522

原创 Android 圆角 span

import android.graphics.Canvasimport android.graphics.Colorimport android.graphics.Paintimport android.graphics.RectFimport android.text.style.ReplacementSpanimport com.banbantv.show.utils.device.DisplayUtilimport kotlin.math.abs/** * @Author: ..

2021-10-26 17:13:15 1060

原创 Android Shape 介绍

以下出自官方文档:https://developer.android.google.cn/guide/topics/resources/drawable-resource语法:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "li

2021-02-04 12:05:48 360 1

原创 android TextView 文本前后添加图片或者布局

效果图:代码实现(kotlin版,java 版本在最后):MainActivity:package com.tencent.myapplicationimport android.annotation.SuppressLintimport android.content.res.Resourcesimport android.graphics.Bitmapimport android.graphics.Canvasimport android.graphics.Painti

2021-01-05 12:01:46 1694

原创 android 自定义 RecyclerView 分割线

import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android.view.View;import android.widget.LinearLayout;import androidx.annotation.ColorInt;import androidx.recyclerview.widget.LinearLayoutManager;impor.

2020-12-20 17:00:24 309 1

原创 android 可以拖动的悬浮按钮

package com.example.simpletest;import android.content.Context;import android.graphics.Color;import android.util.AttributeSet;import android.util.Log;import android.view.Gravity;import android.view.MotionEvent;import android.view.View;import ...

2020-10-12 19:45:48 494 1

原创 BaseActivity中权限申请封装Kotlin实现

abstract class BaseActivity : AppCompatActivity() { /** * 权限请求回调。 */ private lateinit var permissionsResult: OnPermissionResult companion object { const val REQ_PERMISSION_CODE = 10000 } override fun onCreate(saved..

2020-08-21 17:56:23 473

原创 Android databinding 原理浅析

通过一个demo来分析下 databinding的原理通过此文章,希望能明白以下问题 :1.dataBinding 是如何将生成的 impl 实现类返回给我们的?2.当视图有变化时(通过 EditText 输入),为什么 跟其绑定的 bean 的属性会改变?3.当设置了 bean 类的某个属性时,为什么跟其绑定的视图会更新?demo如下:首先配置开启 databinding :android { ... dataBinding { enabl

2020-08-20 10:38:18 724

原创 android 卡片式折叠展开自定义view

先看效果图:实现思路:1.外层是一个自定义的 FrameLayout,通过重写onMeasure() 和onLayout() 方法,动态计算其内部子view展开和折叠时的高度。2.内部子 view 是一个自定义的CardView(可以方便的处理圆角和阴影)。核心代码:其实现主要是由两个方法:onMeasure() 和onLayout(),onMeasure() ...

2020-04-24 14:02:51 2527

原创 用 gradle 编写翻译自动化转换脚本

在做多语言项目的时候,当涉及地区相对较多的时候,翻译管理是个比较麻烦的事,下面的代码脚本自动将 md 格式的翻译文件转换成 Android 需要的 .xml 格式的文件.翻译文件格式:转换之后的格式:具体代码如下:import groovy.transform.Fielddef mkGroup = 'translation'@Field def source...

2019-10-28 11:33:51 293

原创 android 设置 TextView 字体大小自动缩放

google 在Android 8.0 (API level 26) 上增加了对 TextView 字体进行设置的几个属性,利用这些新增属性可以实现TextView 的字体大小自动缩放功能,具体设置如下: <TextView android:layout_width="50dp" android:layout_height="20dp" ...

2019-04-18 17:55:57 3354

原创 Android gradle 将 ext 属性 自动 添加到 BuildConfig

编写 config.gradle 文件,里面是自己定义的app配置属性在项目module 的 build.gradle 里引入刚才写的 gradle 文件 在module 的 build.gradle 里 defaultConfig 块里 添加  android { compileSdkVersion 27 defaultConfig { ...

2018-09-18 18:11:06 4581

原创 Android arch - Room 的使用

概述 : Room 有3个主要组成部分:数据库:包含数据库持有者,并作为应用程序持久化的关系数据的底层连接的主要访问点。用 @Database 注解的类应满足以下条件:        1.是一个继承 RoomDatabase 的抽象类。        2.在注解中包含与数据库相关联的实体列表。        3.包含一个具有0个参数的抽象方法,并返回用 @Dao 注解的类。...

2018-08-03 18:11:08 2955

原创 TabLayout 添加分割线

给所有的 item 添加分割线 LinearLayout linearLayout = (LinearLayout) tabLayout.getChildAt(0); linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); linearLayout.setDividerDrawable(Cont...

2018-06-15 17:23:27 935

原创 可以监听 editText 各种状态的 editTextView

public class TextContextMenuItemEditText extends android.support.v7.widget.AppCompatEditText { static final int ID_SELECT_ALL = android.R.id.selectAll; static final int ID_UNDO = android.R.id...

2018-05-21 18:05:51 678

原创 android TextView 部分文字变色 工具类

import android.content.Context;import android.support.annotation.ColorRes;import android.support.annotation.NonNull;import android.support.annotation.StringRes;import android.text.Spannable...

2018-03-20 10:32:03 423

原创 android webview cookie 写入失败的问题

接收到cookie:上图红线标注的地方: Domain 的值如果和同步的 url 的 host 不一样,会导致 cookie 写入失败解决办法:将 Domain 的值替换为 要写入的 url 的 host ,代码如下:private static String handleCookie(String url) { String cookie = (String) AppCacheTool....

2018-03-07 17:32:20 1022

原创 android webview 加载白屏问题

如果重写了shouldOverrideUrlLoading(WebView view, String url)或者shouldOverrideUrlLoading(WebView view, WebResourceRequest request)不要忘记添加 webView.loadUrl(url);如下图:

2018-03-07 17:19:49 2331

原创 Android 性能优化典范笔记

1.尽量避免Overdraw.1).移除非必须的background.2).减少重叠的布局3).可以通过canvas.clipRect()来帮助系统识别那些可见的区域。这个方法可以指定一块矩形区域,只有在这个区域内才会被绘制,其他的区域会被忽视。这个API可以很好的帮助那些有多组重叠组件的自定义View来控制显示的区域。同时clipRect方法还可以帮助节约CPU与GPU资

2017-09-28 16:40:34 316

原创 android studio 导入 Launcher3 的一些问题

在导入 Launcher3 的时候遇到 如下报错:D:...com\android\launcher3\LauncherBackupHelper.javaError:(19, 32) 错误: 程序包com.google.protobuf.nano不存在Error:(20, 32) 错误: 程序包com.google.protobuf.nano不存在Error:(24, 36) 错误: ...

2017-08-11 10:53:04 3079

原创 android studio 导入 Launcher2 模块,并编译运行

AS 版本:2.3.3aosp 版本: 4.4 (已经编译过)launcher 目录: .../packages/apps/ 下的 Launcher2 文件夹 详细步骤:1. 在 AS 中 新建一个项目:LauncherTest2.在 项目中 新增一个 Module : launcher223. 将 源码 Launcher2 文件夹 中的 AndroidManifest...

2017-08-09 20:51:35 2143 1

原创 在 android 4.4 下预置app

1.系统环境 : ubuntu12.042.android 源码版本 : 4.4步骤:1.在 .../packages/apps/ 目录下新建文件夹 SmartHome2.在 SmartHome 目录下 添加 要预置的 apk文件,并且新建一个 Android.mk 文件3. 编辑 Android.mk 文件 ,写入 如下内容,并保存:LOCAL_PATH := $

2017-08-07 14:00:22 1236

原创 ubuntu12.04下载android4.4源代码

因为国内不能直接访问谷歌,所以用的是清华开源镜像下载源代码:1.确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:$ mkdir ~/bin$ PATH=~/bin:$PATH2.下载 Repo 工具,并确保它可执行:curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/rep

2017-08-01 16:24:03 559

原创 android 判断 wifi 是否是 5G

/** * 判断 wifi 是否是 5G MHZ. * 需要权限: * * * * */ public static boolean isWifi5G(Context context) { int freq = 0; WifiManager wifiManager = (WifiM

2017-06-16 16:13:54 3895 1

原创 关于 android 6.0的权限处理

先看下 关于运行时权限处理的官方建议,下面这段话摘自官网:从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”

2017-06-15 15:34:15 289

原创 利用windowManager实现App上的logcat

在APP上显示UDP或者HTTP接收到的内容/** * @description: 调试用显示接收信息. * @autour: YQQ.yang. * @date 2017/6/12 9:19. */public class LogService extends Service { private WindowManager windowManager;

2017-06-13 15:32:37 320

原创 android圆角dialog,并限制宽度和高度

AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); View contentView = getActivity().getLayoutInflater().inflate(R.layout.layout_dialog_contact, null); builder.setView

2017-06-05 09:39:20 673

原创 dialog软键盘隐藏

使用:dialog.setOnDismissListener(dialog1 -> KeyBoardUtil.hideKeyBoard(this));软键盘工具类:public class KeyBoardUtil { /** * 计算根布局的的底部空隙,从而判断软键盘的显示和隐藏. * 判断根布局的可视区域与屏幕底部的差值,如果这个差大于某个值,可以认定

2017-06-01 16:45:20 952

原创 Android底部弹出的popupWindow

import android.animation.ValueAnimator;import android.app.Activity;import android.graphics.drawable.BitmapDrawable;import android.support.v7.widget.LinearLayoutCompat;import android.view.Gravity...

2017-05-20 20:54:49 518

原创 Git 常用命令

详细 git 教程 : progitGit Community Book# 删除 untracked filesgit clean -f # 连 untracked 的目录也一起删掉git clean -fd # 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)git clean -xfd # ...

2017-05-11 11:59:22 231

原创 androidStudio中使用 AspectJ

本文主要介绍 怎么在 AndroidStudio 中使用 AspectJ

2017-05-09 21:21:57 232

原创 在 Android 中 使用JNI

1、新建一个android工程2、在工程目录下添加名为 jni 的文件夹(必须)3、在jni文件夹下新建你的.c文件(我的叫Hello.c)4、在jni文件夹下新建名字为Android.mk文件4.1Android.mk文件中加入LOCAL_PATH := $(call my-dir) //当前路径(如果你了解shell语言,应该可以很轻松的理解)

2017-02-09 16:29:26 398

原创 关于 webview 截图 部分显示空白的处理

先说明 我遇到的情况:在对当前屏幕进行截图的时候 ,截到的图片总是 有部分空白,先看布局需要对其截屏的 activity:在 对上图进行截图分享的时候 发现 截取图片的 柱状图是 空白的:解决办法:给布局中的 WebView 设置 android:layerType="software" 属性;<RelativeLayout xmlns:andro

2016-12-28 14:43:28 4502

原创 Android 使用 百度地图 测量 多边形面积

btn_clear = (Button)findViewById(R.id.btn_clear);btn_jisuan = (Button)findViewById(R.id.btn_jisuan);// 地图初始化mMapView = (MapView) findViewById(R.id.mapView);mBaiduMap = mMapView.getMap();//地图单击事件监

2016-11-14 10:25:11 4365 2

原创 Android 设置百度地图最大最小缩放级别

设置百度地图缩放级别范围mMapView = (MapView) findViewById(R.id.mapView);mMapView.getMap().setMaxAndMinZoomLevel(18, 16);

2016-11-07 13:54:08 2779

原创 js 调用 Android 原生代码

网页端: function open(){ window.agf.openvip(); } Android 端 : webView = (WebView) findViewById(R.id.webView); webView.setWebViewClient(new WebViewClient());

2016-11-03 15:34:23 285

原创 android关于百度地图显示网格问题

百度地图 显示网格问题

2016-03-15 09:49:18 1602

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除