自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android App设置系统时间,语言和时区

安卓设置系统时间安卓设置系统语言安卓设置系统时区设置系统时间 设置系统日期(仅设置到xxxx年xx月xx日) 设置系统是否自动获取时间 判断系统是否自动获取时间设置系统时区 设置系统是否自动获取时区 判断系统是否自动获取时区 获取当前月有多少天获取系统时间和时区信息设置系统语言获取系统语言偏好

2020-09-04 17:48:00 4956 4

原创 Android MK和BP编译规则比较

MK与BP之间的比较

2022-06-29 15:38:59 1292

原创 Android 12如何使锁屏界面状态栏ICON显示与桌面状态栏保持一致

原生代码逻辑如何控制状态栏Icon显示

2022-05-17 17:05:07 1357

原创 图片素材屏幕适配

屏幕适配像素密度DPI公式:sqrt(width^2 + height^2)默认像素密度为160时,1dp = 1 px假设像素密度为a,该屏幕dp和px的转换为1 dp = 1 × (a /160)针对不同的dpi,安卓会提供不一样分辨率的drawble文件夹,用来控制实际显示的图片素材分辨率。规则如下:drawable名称屏幕密度(dpi)mdpi120~160hdpi160~240xhdpi240~320xxhdpi320~480xxxh

2021-10-12 10:59:33 127

原创 ViewGroup的DispatchTouchEvent事件分发流程分析

@Override public boolean dispatchTouchEvent(MotionEvent ev) { ...(进行Event是否正确的判断) boolean handled = false; if (onFilterTouchEventForSecurity(ev)) { final int action = ev.getAction(); final i

2021-10-12 10:55:16 170

原创 装饰器模式简单实例:从俄罗斯套娃到装饰器模式

装饰器模式实现的核心精髓在于套娃,把多态和继承玩出新花样。每一次装饰都是往原对象身上套一层娃,这个娃可以是蓝色的绿色的,大的,小的。俄罗斯套娃最里层是核心,你甚至可以不用娃,用其他东西替代。其余每一层的套娃都可以看做一类,作为装饰类。我们先分析一下套娃是如何套的,再根据套娃的基本思路,来展开装饰器是如何实现的.套娃的思路: 1.有一个娃准备被套 2.往这个娃上套娃,它变成一个新娃 3.

2021-09-07 16:43:52 160

原创 桥接模式简单实例

桥接方式最大的好处在于使用方和被使用方可以灵活改变,但是核心的逻辑 被使用方被使用方使用是不能够更改的。用代码抽象,可以理解为使用方和被使用方先使用Base类对核心逻辑进行表示,之后各方可以在做特化。这个核心逻辑就是桥接模式中的桥。下面给出一个实例:使用充电宝和充电器分别给手机和蓝牙耳机进行充电。分析:上面的对象提取抽象,可以分出来两大类:供电设备和用电设备。核心逻辑是供电设备 供电 给 用电设备 充电。特化逻辑是 供电设备分为充电宝和充电器,用电设备分为手机和蓝牙耳机。下面直接上代码:1.

2021-09-02 18:28:49 1075

原创 Android Camera 开发简单实例(一): Preview

camera开发,初步学习camera1,即android.hardware.camera。addCallbackBuffersetPreviewTexturesetPreviewDisplaysetDisplayOrientationCamera性能优化PreviewCallbackonPreviewFrame预览数据逆时针90度

2020-12-11 19:54:17 777 2

原创 安卓系统格式化SD卡

格式化一张SD卡,流程分两步获取该SD卡插入后生成的VolumeInfo调用StorageManager的format方法安卓系统是基于LINUX系统的,LINUX系统支持ext格式和vfat格式(vfat就是fat格式一家,从fat16到exfat都有)。关于挂载,一张SD卡的状态有很多种,这里给出VolumeInfo定义的状态(它其实是Vold中定义的): //插上了,可以挂载,但还没挂载上 public static final int STATE_UNMOUNTED =

2020-09-11 20:45:48 2218

原创 Android 获取当前Activity的高度不正确

项目需要设一个popupwindow来覆盖整个屏幕,需要先获取这个Activity的宽和高来为popupwindow设置值。使用了网上已知的好几种方法,发现高度总是少了那么点。(实际高度640,log打出来的是592)在网上找了找相关问题,在这里找到了问题所在 Android获取屏幕高度的坑。我使用的设备是全面屏设备,会用到虚拟按键,但app是使用的全屏模式,因此当时忘记了获取高度为去掉虚拟按键的高度。getMetric()方法只能获取到可用的高度,因此会减掉虚拟按键高度,得到的是592。(发现了虚

2020-09-07 18:03:41 1063

原创 点击ListView内button更新整个ListView布局

先上需求图需要完成的是点击下面listview里的删除按钮,将整个ListView界面刷新。关于ListView的界面刷新,无非就是使用notifyDataChange方法。我们在删除按钮处设置点击事件,点击后触发数据库删除和Adapter的datalist数据删除,在之后加上notifyDataChange就能完成需求啦。holder.mBtnDelete.setOnClickListener(new View.OnClickListener() { @Override

2020-08-11 19:51:14 345

原创 GridView中图片显示出现上下间距过大,左右图片显示类似瀑布流的问题

这种问题的首要原因是放置的图片格式大小不同。我们可以通过不同的item布局观察其中的变化GridVIew的layout如下<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"&

2020-07-19 15:21:57 407

原创 简述AdapterView中Viewholder为何能够对整个item的装填进行优化

刚开始学习时,在Adapter适配时,对item中布局的控件初始化,我们一般是直接使用findViewByid,然而使用viewholder可以对整个程序进行优化话不多说,直接上案例图//创一个ViewHolder是为了避免重复使用findVieByid,提高性能 static class ViewHolder { //这里是item布局中用到的几个控件 public ImageView imageView; public TextView TVtitle, TVtime, TVc

2020-07-17 23:01:41 248 1

原创 Android 学习日记

Android布局管理基础构件及布局width:=match_parent/wrap_parentheight:=match_parebt/wrap_parentweight 即某布局内各View对存在的剩余内容所占的权值 LinearLayout相关学习知识点gravityOrientationverticalhorizontalmarginRelativeLayoutTextViewButtonEditTextRaditButtonCheckBox

2020-02-23 23:20:16 249

原创 Android Studio SDK安装遇到的雷

之前做课设时使用的是Ecliose用的adt版本的SDK,这回装Android Studio。问题来了,安装完成后,Android Studio提示无法连接。第一次尝试:改HTTP proxy,链接设的mirror.neusoft.ac.cn,端口80 改完之后进入SDK页面,仅显示之前adt版本装过的API。本次尝试开始并没觉得有什么问题,开始启动AVD时才发现了问题。AVD首先提示...

2020-02-22 23:04:05 794

空空如也

空空如也

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

TA关注的人

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