自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 《Android基础:Fragment,看这篇就够了》

导语 Fragment作为Android最基本,最重要的基础概念之一,在开发中经常会和他打交道。本文从为什么出现Fragment开始,介绍了Fragment相关的方方面面,包括Fragment的基本定义及使用、回退栈的内部实现、Fragment通信、DialogFragment、ViewPager+Fragment的使用、嵌套Fragment、懒加载等。下文中FragmentDemo的源代码地址:https://github.com/xiazdong/FragmentDemo基本概念Frag.

2020-12-30 21:36:24 334

转载 Fragment生命周期,以及hide() show() replace() add() remove() addToBackStack(null)等对Fragment生命周期的影响

Fragment的生命周期Fragment的生命周期如图所示,注意点:在onAttach()方法回调的时候,说明Fragment已经附着到了Activity上,在onAttach方法中获取它所在的Activity对象并且保存为全局属性,以便后面的方法中使用,切记不要使用getActivity来获取它所在的activity对象,因为这个方法有的时候会返回为空,因为在某些情况下,Activity有可能被回收。使用show() hide()方法来切换多个Fragment页面的时候,Fragment的

2020-12-30 19:23:52 1089

转载 Android Fragment add/replace以及backstack

无论Fragment以何种方式加入,都不会影响backstack,backstack由addToBackStack函数决定,只有调用了这个函数,才会将Fragment加入返回栈。这个说法其实不太准确,返回栈记录的是Fragment切换的过程,所以加入返回栈的是Transaction,而不是Fragment本身。那么add和replace的区别是什么呢?以add方式加入Fragment,底层的Fragment被覆盖,当按下返回键时,当前Fragment弹出返回栈,底层Fragment直接显示出来,无需

2020-12-30 10:21:28 393

原创 Android Studio:Vector Asset 语法详解

Vector语法简介Android以一种简化的方式对SVG进行了兼容,这种方式就是通过使用它的Path标签,通过Path标签,几乎可以实现SVG中的其它所有标签,虽然可能会复杂一点,但这些东西都是可以通过工具来完成的,所以,不用担心写起来会很复杂。Path指令解析如下所示:M = moveto(M X,Y) :将画笔移动到指定的坐标位置L = lineto(L X,Y) :画直线到指定的坐标位置H = horizontal lineto(H X):画水平线到指定的X坐标位置V = v

2020-12-09 12:33:28 717

转载 android之merge布局

<merge />标签闪亮登场了。当LayoutInflater遇到这个标签时,它会跳过它,并将<merge />内的元素添加到<merge />的父元素里。迷惑了吗?让我们用<merge />来替换FrameLayout,并重写之前的XML布局:<merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView andr

2020-12-09 10:17:57 828 1

转载 Android】自定义View宽高测量以及文本宽高的测量

自定义View宽高测量以及文本宽高的测量(1)此方法会被调用多次(2)测量模式:MeasureSpec.EXACTLY:在xml里面设置match_parent或者具体的数值时对应的模式。MeasureSpec.AT_MOST:在xml里面设置wrap_content时对应的模式.此时需要根据绘制的内容确定需要的数值。比如:如果要绘制文本,可以将测量出文本的宽度或者高度作为此自定义View的宽度或者高度。(3)测量宽高int sizeWidth = MeasureSpec.get

2020-12-07 09:19:04 1158

转载 点击LinearLayout使用selector改变TextView字体颜色

<LinearLayout android:clickable="true" android:focusable="true"> <TextView android:duplicateParentState="true"/> android:textColor="@drawable/selector_setting_txt" </LinearLayout> <?xml vers.

2020-12-04 15:11:32 227

转载 BottomNaviagtionView和Viewpage实现底部导航栏

1. 效果:导航栏.gif2. 核心思路:用bottomnavigationview 和 viewpage 实现fragment的切换,从而实现底部导航栏。3. 代码:XML(Activity)<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schem...

2019-10-23 09:57:15 357 1

转载 Android列表滑动动效

设计分析:已经确定了要实现RecyclerView滑动监听,必然就得了解RecyclerView滑动监听实现的方法:1.onScrollStateChanged //滑动状态的改变2.onScrolled //滑动时回调该方法这里不需要第一个方法,因此我们就重写onScrolled方法:1.找到列表中最后一项可见的view2.根据可见部分占view总部分的占比,计算出透明度以及缩放比...

2019-10-18 10:47:12 807

转载 Android 动画:插值器( Interpolator )和估值器(TypeEvaluator)

Android中 补间动画 & 属性动画实现动画的原理是:插值器(Interpolator)和估值器(TypeEvaluator)是实现 复杂动画效果的关键一、插值器1. 简介定义:Android实现动画效果中的一个辅助接口 作用:设置 属性值 从初始值过渡到结束值 的变化规律如匀速、加速 & 减速 等等 即确定了 动画效果变化的模式,如匀速变化、加速变化 等...

2019-10-18 10:44:47 591 1

转载 如何高效维持网络长连接:手把手教你实现 自适应的心跳保活机制

前言当实现具备实时性需求时,我们一般会选择长连接的通信方式 而在实现长连接方式时,存在很多性能问题,如 长连接保活 今天,我将手把手教大家实现自适应的心跳保活机制,从而能高效维持长连接目录示意图1. 长连接 介绍1.1 简介示意图1.2 作用通过长时间保持双方连接,从而:提高通信速度 确保实时性 避免短时间内重复连接所造成的信道资源 &...

2019-10-17 16:44:42 1301

转载 Android:这是一份全面 & 详细的Webview使用攻略

前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 京东首页 那么这种该如何实现呢?其实这是Android里一个叫WebView组件实现 今天,我将献上一份全面介绍WebView的常见用法。 目录示意图1. 简介WebView是一个基于webkit引擎、展现web页面...

2019-10-17 15:23:19 165

转载 一文带你全面了解MVC、MVP、MVVM模式(含实例讲解)

前言在Android开发中,当你梳理完需求后,你要做的并不是马上写下你的第一行代码,而是需先设计好整个项目的技术框架 今天,我将全面介绍Android开发中主流的技术框架MVC、MVP与MVVM模式,并实例讲解MVP模式,希望您们会喜欢。目录示意图1. 为什么要进行技术框架的设计模块化功能 使得程序模块化,即:内部的高聚合、模块之间的低耦合 提高开发效率 开发人员...

2019-10-17 14:06:12 461

转载 Android 屏幕适配:最全面的解决方案

前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子:Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践给你带来一种全新、全面而逻辑清晰的...

2019-10-17 11:31:41 349

转载 Android消息推送 解决方案

前言鉴于现在运营需求的增强,消息推送在Android开发中应用的场景是十分常见如电商的活动宣传、资讯类产品进行新闻推送等等推送消息截图今天,我将全面介绍Android中实现消息推送的7种主流解决方案目录示意图1. 本质应用App主动向用户推送服务器最新消息实际上,是当服务器有新消息需推送给用户时,先发送给应用App,应用App再发送给用户示...

2019-10-17 11:30:16 939

转载 EasyFloat:浮窗从未如此简单

应用浮窗由于良好的便捷性和拓展性,在某些场景下有着不错的交互体验。恰巧项目需求有用到,可是逛了一圈GitHub,并没有找到满意的浮窗控件。索性造个好用的轮子,方便你我他,遂成此文。GitHub地址:EasyFloat需求:我们想要什么要能浮在某个单独的页面上,或者多个页面上; 要支持拖拽,这样才够灵活; 可能需要吸附边缘,也可能不需要吸附; 要支持浮窗内部的点击、拖拽; ...

2019-10-16 10:38:45 2163

转载 Android设置Activity背景为透明style的方法

方法一1.设置Theme.Translucent@android:style/Theme.Translucent@android:style/Theme.Translucent.NoTitleBar@android:style/Theme.Translucent.NoTitleBar.Fullscreen只需要在Manifest中需要透明的Activity内设置theme为以上...

2019-10-15 17:50:40 572

转载 设置控件透明度的3种方法

需求有时会需要改变布局颜色透明度,比如设置控件(如View,Button等)的透明度,有3种方法。实现方法java代码实现text = (TextView) findViewById(R.id.text);text.getBackground().setAlpha(12);若TextView未设置背景色,可以直接使用text.setAlpha(12)方式设置其透明度se...

2019-10-15 11:05:20 1865

转载 android沉浸式布局详解

原文:https://blog.csdn.net/qq_21806653/article/details/518021. 沉浸式布局简介沉浸,何为沉浸?我所理解的就是让用户身临其境,尽量不被其他环境因素所干扰。在用户打开一个app的时候,能让用户感觉到界面干净简洁,没有和这个app无关的内容,就算是做到了这一点了。那么什么是和你的app关联不大的呢,其实也没有多少东西,无非就是一个顶部的状态栏...

2019-04-25 09:26:03 1853

转载 深入浅出SOA

文章引子:https://www.cnblogs.com/renzhitian/p/6853289.htmlSOA是什么?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构(具体可以百度)。 用途:SOA解决多服务凌乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫做服...

2019-03-05 10:06:15 333

原创 Adapter notifyDataSetChanged 调用分析

1. notifyDataSetChanged方法必须在UI线程调用,若在子线程调用会抛:”CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.“异常。2. 当adapter中的数据被更改后必须马上调用notifyDataSetCha...

2019-03-04 18:37:03 1119

转载 微信APP支付服务端和Android 端详解及其demo

转自:https://blog.csdn.net/m_sicily/article/details/82493171最近在开发APP微信支付和支付宝支付,Android 端和后端都是我自己开发的,发现两家公司的文档都不是很友好,特别是微信,接触过或者开发过的人都应该有所体会。因此我特意把开发的过程梳理了,做下记录,方便以后可能还用得到,同时也方便后来的一些开发者,希望如此吧。文章较长,耐心看吧...

2019-02-25 10:06:11 1286

转载 singleInstance模式下的坑

文章转自:https://blog.csdn.net/lihappyangel/article/details/51831611singleInstance是启动模式中的一种,当activity使用该种启动模式时,会单为此activity开辟一个新的栈来存放此activity。这种模式相当于我们一个应用只有一个实例,其实就是单例模式。而这种模式有时候会引起一些问题,在这里记录一下笔者遇到的问题...

2019-01-23 17:21:25 1479

转载 JavaScript 变量提升和函数提升

第一篇文章中提到了变量的提升,所以今天就来介绍一下变量提升和函数提升。这个知识点可谓是老生常谈了,不过其中有些细节方面博主很想借此机会,好好总结一下。今天主要介绍以下几点:1. 变量提升2. 函数提升3. 为什么要进行提升4. 最佳实践那么,我们就开始进入主题吧。1. 变量提升通常JS引擎会在正式执行之前先进行一次预编译,在这个过程中,首先将变量声明及函数声明提升至...

2018-07-25 16:06:47 180

转载 谈谈let和const

最近接触到ES6的一些相关新特性,想借let和const两个命令谈谈JavaScript在变量方面的改进。由于let和const有很多相似之处,我们就先说一说let吧。1. let添加了块级作用域我们知道,JavaScript是没有块级作用域的,如果在块内使用var声明一个变量,它在代码块外面仍旧是可见的:if (true) { var foo = 3;}conso...

2018-07-25 15:57:45 573

转载 一文读懂JavaScript和ECMAScript的区别

 这篇文章代表了我目前对 JavaScript 和 ECMAScript 之间差异的理解。文章适合那些熟悉 JavaScript 但又想更加清楚地了解其与 ECMAScript、web 浏览器、Babel 等是何种关系的人。你还会额外了解到脚本语言、JavaScript 引擎以及 JavaScript 运行时。作者:OSC - 协作翻译来源:开源中国|2017-11-13 11:31 ...

2018-07-25 15:50:41 622

转载 Flex 布局

语法篇来源:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html作者: 阮一峰日期: 2015年7月10日网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容...

2018-07-25 14:12:28 137

空空如也

空空如也

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

TA关注的人

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