自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android视角看鸿蒙第十二课-鸿蒙的布局之相对布局RelativeContainer

RelativeContainer为采用相对布局的容器,支持容器内部的子元素设置相对位置关系。子元素支持指定兄弟元素作为锚点,也支持指定父容器作为锚点,基于锚点做相对位置布局。下图是一个RelativeContainer的概念图,图中的虚线表示位置的依赖关系。看起来和Android没什么差别,可以依赖兄弟组件,也可以依赖父布局,同样不可以依赖兄弟的儿子。哈哈和Android差不多吧,语法熟悉下就可以了。

2024-04-23 09:52:06 790

原创 Android视角看鸿蒙第十一课-鸿蒙的布局之层叠布局Stack

Stack组件为容器组件,容器内可包含各种子组件。其中子组件默认进行居中堆叠。下面看效果图可以看到Stack的第一个子组件宽度是90,默认是居中的(和Android有区别,写完一定要跑,不要太自信text在Column 的上层,遮挡了部分Columnbuttom在text的上层,遮挡了部分text。

2024-04-07 15:50:20 977 2

原创 Android视角看鸿蒙第十课-鸿蒙的布局之线性布局

Android中是使用LinearLayout来构建线性布局的,通过**orientation的取值(vertical或horizontal)**来控制排列方向鸿蒙线性布局的排列方向由所选容器组件决定,Column容器内子元素按照垂直方向排列,Row容器内子元素按照水平方向排列。

2024-03-28 14:14:57 863

原创 Android视角看鸿蒙第九课-鸿蒙的布局

虽然华为有八大布局,但是可以分为(线性布局、层叠布局、相对布局)等类Android布局;弹性布局为线性布局加强版;(列表(List)、网格(Grid))等列表布局;轮播(Swiper)类Viewpager布局;上面这些在Android中都存在,仅换了个描述(栅格布局(GridRow、GridCol)、媒体查询(@ohos.mediaquery))等跨设备兼容布局这两个属于新增的,都是为了跨设备的UI兼容android常用的布局基本都是存在的,我能想到的是缺少了瀑布流。

2024-03-25 15:15:07 747

原创 Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities)下

到现在为止已经有8篇文章了,学习桌面图标的定义,程序入口的定义等等,也对鸿蒙工程的配置文件有了一定的了解。下篇文章开始学习UI相关了。

2024-03-20 11:56:56 1005

原创 Android视角看鸿蒙第七课(module.json5中的各字段含义之abilities)

在运行中的任务中,两个ablity都是存在的,所以ablity并不等同于activity,而且这两个ability各自使用了各自的label及icon。entryModule中没有声明启动ability时,可以打包并安装成功,但会因为没有配置启动ability而导致没有桌面图标,同时也无法启动。这里实际使用时,建议还是要和文件名相同,本着深入了解的目的,这里测试一下随意自定义name和want跳转的关系。name相当于给Ability起个别名,want跳转的时候使用的是别名,而不是文件名。

2024-03-20 08:48:29 1247

原创 Android视角看鸿蒙第六课(module.json5中的各字段含义之pages)designWidth的用法

可以看到pages的值是String,通过正则要求值的格式必须是开始的,作用是定义了所有page的路径需要注意的是官方文档中说明除默认存在的src外,还可以存在window标签(可缺省),缺省状态下designWidth默认为720,目测类似于autosize.

2024-03-18 14:56:42 994

原创 Android视角看鸿蒙第五课(module.json5中的各字段含义之deviceTypes,deliveryWithInstall,installationFree)

前面几篇文章,我们确定了AppScope下的app.json5和module下src->main_module.json5是鸿蒙配置的核心,在这里总结下这几个json5的主要功能其中module->src->main->module.json5和我们开发中的流程关系最大,也相对复杂。上篇文章我们了解到的mainElement就和我们所以为的大相径庭。这篇文章我们继续了解module.json5中的deviceTypes,deliveryWithInstall,installationFree等字段作用。

2024-03-11 17:04:27 1082

原创 Android视角看鸿蒙第四课(module.json中的各字段含义之description&mainElement)修改程序入口

上编文章了解了module.json中的name和type两个字段的含义及变更字段需要注意的事项,也明白了如何去实现类似Android library的功能。这篇文章继续了解module.json中的description和mainElemoent的作用。

2024-03-08 11:47:09 1088

原创 Android视角看鸿蒙第三课(module.json中的各字段含义之name&type)

上篇文章我们试图找到鸿蒙app的程序入口,确定了在鸿蒙工程中,由AppScope下的app.json5负责应用程序的图标及名称,由负责桌面图标及名称的展示。AppScope下的app.json5还包含了bundleName,versionCode,versionName等配置信息。entry->src->main-module.json5除abilities下的icon及label字段外,还包含了例如mainElement,pages等等字面看起来就很重要的配置。

2024-03-06 17:11:00 1094

原创 Android视角看鸿蒙第二课(manifest在哪里之如何修改应用图标及名称)

看样子感觉很重要,name是module的名称,version显示的是版本号,后面研究和app.json5下的versionName及versonCode的区别。AppScope 下的app.json5下的icon值及label,只允许使用AppScope下resource内的资源,且label不允许手动输入(ide不报错,运行报错)看了一眼手机上的app,感觉又不对,手机上显示的是label,这里配的是MyApplication,对不上啊!应该是稳了,试试这些字段的作用是不是像我们想的那样吧!

2024-03-05 11:24:47 1045

原创 Android视角看鸿蒙第一课(工程目录)

鸿蒙工程目录和Android基本类似,在这一点上基本不需要成本,希望学习顺利。

2024-03-04 17:03:46 463 1

原创 接入Tinker后autosize失效

接入Tinker后页面布局错乱,定位到是AutoSize失效。在application初始化时重新注册一个回调,就可以了。2、找到初始化过程中的核心代码。

2022-08-04 11:31:14 259 1

原创 BottomSheetBehavior踏坑

不能设置 padding,子view不能设置margin, 否则影响初始高度计算。初始状态高度低于设置的300dp,触摸后高度可恢复。使用过程中高度又出现问题。排除所有影响因素后,发现是padding和margin 的问题。之后希望利用 触摸后高度可恢复 的特性来修复,但是不稳定。默认展示Behavior折叠状态,上拉可展开。起初怀疑是底部状态栏导致的,后来验证不是。...

2022-08-04 10:53:27 257

原创 Android原生Toast不显示的兼容问题

toast 一加 不显示

2022-03-04 15:55:14 2391

原创 Android 自定义Camera(四)翻转摄像头

Android 自定义Camera翻转摄像头前言Android camera开发中常常会涉及到 翻转摄像头,这篇问篇文章会为大家讲解如何翻转摄像头。官方apiopen和open(int arg)的关系在之前的文章中,我们使用open()成功获取到了后置摄像头,大家有没有好奇,为什么是后置摄像头而不是前置呢,我们一起看一下open()的实现解释一下:第一步,获取到设备的硬件层的摄像头数量第二部,创建一个Info容器第三步,遍历摄像头为info赋值,如果info的id == CAME

2020-06-12 18:14:42 2462

原创 Android 自定义Camera(三)选择合适的摄像头尺寸

Android自定义Camera如何选择合适的摄像头尺寸前言前面我们讲到了如何预览摄像头及拍照,但在实际的应用中我们发现预览的画面往往都会有一定程度的拉伸,这是因为SurfaceView和我们的摄像头尺寸不匹配导致的,本篇文章将讨论如何解决这个问题官方api其实官方文档也为我们明确的指出了正确的处理办法,我们一起看一下第2、3步:第二步,我们可以通过getParameters()来获取已存在的配置,第三步,如果需要,可以通过setParameters(Parameters)来修改摄像头的配置

2020-06-01 02:22:21 3195

原创 Android 自定义Camera(二)如何实现拍照功能

Android自定义Camera如何实现拍照功能前言上篇文章我们讨论了《 自定义Camera(一)如何预览相机》,现在我们继续讨论如何实现拍照功能。官方API翻译后为:触发异步图像捕获。随着图像捕获的进行,camera服务将启动对应用程序的一系列回调。快门回调发生在图像捕获之后。这可以用来触发一个声音,让用户知道图像已经被捕获。当原始图像数据可用时发生原始回调(注意:如果没有可用的原始图像回调缓冲区,或者原始图像回调缓冲区不够大,无法容纳原始图像,则数据将为null)。postview回调发生在

2020-05-25 00:05:11 814

原创 Android 自定义Camera(一)如何预览相机

Android Camera之如何预览相机1、官方Api描述翻译后为:使用android.hardware.Camera拍照,请使用以下步骤:1.从open(int)获取一个Camera实例。2.使用getParameters()获取现有(默认)设置。3.如有必要,修改返回的相机配置,调用setParameters(android.hardware.Camera.Parameters)。4.调用setDisplayOrientation(int)以确保预览的正确方向。5.重要:传递一个完全

2020-05-24 22:28:37 1836

原创 Android Vivo X9调用系统拍照返回App重启

Android Vivo X9调用系统拍照返回App重启问题描述:AndroidApp调用系统相机,旋转方向、拍照完成后App重启(疑似崩溃,但却不是),只出现于部分机型产生原因:系统相机旋转后,屏幕方向发生了变化,猜想会要求回调的activity方向一致,我们的项目是竖屏锁定,所以导致app重启。解决办法:1>自定义相机(不受系统相机干扰,比较推荐)2>为调用相机的Activity添加android:configChanges=“orientation|keyboardHidd

2020-05-21 16:59:06 822 1

原创 记录一次Android权限窗口不显示的问题

记录一次Android权限窗口不显示的问题在实际的Android 开发中,我们一般会在MainActivity的onCreate中统一申请app运行时权限,比如定位,相机等权限。在最近的一次测试中,测试反应某个页面的定位没有获取到实际的定位,继续询问测试人员才知道他在打开app的时候竟然没有看到过权限弹窗。最后经过调试,发现是MainActivity启动了两次,也就是说MainActivit...

2020-02-26 22:28:12 687 1

原创 链表反转

public static LNode reverseLinked(LNode head) { LNode cur = head; LNode pre = null; while (cur != null) { LNode next = cur.next; cur.next = pre; pre = cur; cur = next; } return ...

2019-10-31 16:17:44 108

原创 android java链表排序-快排实现

本文直接上排序的代码,链表的定义请查看上一篇文章https://blog.csdn.net/weixin_44656996/article/details/102823645排序实现public static void main(String[] args) { LNodeList list = new LNodeList(); initLink(list); list.s...

2019-10-30 17:41:58 138

原创 Android JAVA手写链表

链表是由N个节点组成的数据结构, 每个节点至少包含一个数据域与指针域/** * 节点类型 * @author user5 * */public class LNode { public int data;//数据域 public LNode next;//指针域 public LNode(int data) { this(data, null); } public L...

2019-10-30 17:33:37 215

原创 Java 整数反转

题目代码实现class Solution { public static int reverse(int x) { int result = 0; while(x != 0) { int rs = result*10; if(rs/10 != result) return 0; ...

2019-09-10 19:44:06 499

原创 Android TextView可显示完整的最大行数

问题:在安卓开发中,设计师通常要求文字显示在一块固定区域,我们一般如下定义height = 30dp;或者height = wrap_content;maxHeight = 30dp;这样的写法通常情况下是没有问题的, 但是如果用户手动设置了文字大小则可能出现部分文字显示不全的场景解决方法:先上效果可以看到蓝色区域要比红色区域的文字显示的合理很多代码:<TextVi...

2019-09-10 11:27:27 1966

原创 螺旋矩阵之笨人笨解

题目要求给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出: [1,...

2019-02-26 12:47:52 155

原创 Android启动模式SingleTop的妙用

今天在开发Android项目的时候,一不小心手抖了~~~,导致非常快速的点击了两下按钮,然后就悲催的发现同时启动了两个相同的Activity~~其实之前也遇到过这样的问题,但是现在想想不由得为自己当初的笨拙而发笑。。。先说说之前的解决办法long click = 0;public void onClick(View v) { long time = new Date().g...

2019-02-23 00:21:40 4805

原创 算法:有效的括号

题目要求:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。代码实现:class Solution { static char[] left = new char[]{'(','{','['}; static cha...

2019-02-22 23:43:52 359

原创 算法:String转int 字符串转换整数

本文是字符串转整数的算法实现,如果您是因为业务需求而找到这个帖子,您可以调用 String.valueOf(Integer i) 来达到您的目的. 题目要求:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续...

2019-02-19 13:28:12 903

原创 int[]数组合并&求中位数

今天开始尝试去刷leetcode,记录一下这个题目所遇到的坑。题目要求:**给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:num...

2019-02-14 15:45:29 413 2

空空如也

空空如也

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

TA关注的人

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