- 博客(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
388
转载 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
1373
转载 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
454
原创 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
795
转载 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
879
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
1240
转载 点击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
261
转载 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
403
1
转载 Android列表滑动动效
设计分析:已经确定了要实现RecyclerView滑动监听,必然就得了解RecyclerView滑动监听实现的方法:1.onScrollStateChanged //滑动状态的改变2.onScrolled //滑动时回调该方法这里不需要第一个方法,因此我们就重写onScrolled方法:1.找到列表中最后一项可见的view2.根据可见部分占view总部分的占比,计算出透明度以及缩放比...
2019-10-18 10:47:12
882
转载 Android 动画:插值器( Interpolator )和估值器(TypeEvaluator)
Android中 补间动画 & 属性动画实现动画的原理是:插值器(Interpolator)和估值器(TypeEvaluator)是实现 复杂动画效果的关键一、插值器1. 简介定义:Android实现动画效果中的一个辅助接口 作用:设置 属性值 从初始值过渡到结束值 的变化规律如匀速、加速 & 减速 等等 即确定了 动画效果变化的模式,如匀速变化、加速变化 等...
2019-10-18 10:44:47
827
1
转载 如何高效维持网络长连接:手把手教你实现 自适应的心跳保活机制
前言当实现具备实时性需求时,我们一般会选择长连接的通信方式 而在实现长连接方式时,存在很多性能问题,如 长连接保活 今天,我将手把手教大家实现自适应的心跳保活机制,从而能高效维持长连接目录示意图1. 长连接 介绍1.1 简介示意图1.2 作用通过长时间保持双方连接,从而:提高通信速度 确保实时性 避免短时间内重复连接所造成的信道资源 &...
2019-10-17 16:44:42
1546
转载 Android:这是一份全面 & 详细的Webview使用攻略
前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 京东首页 那么这种该如何实现呢?其实这是Android里一个叫WebView组件实现 今天,我将献上一份全面介绍WebView的常见用法。 目录示意图1. 简介WebView是一个基于webkit引擎、展现web页面...
2019-10-17 15:23:19
217
转载 一文带你全面了解MVC、MVP、MVVM模式(含实例讲解)
前言在Android开发中,当你梳理完需求后,你要做的并不是马上写下你的第一行代码,而是需先设计好整个项目的技术框架 今天,我将全面介绍Android开发中主流的技术框架MVC、MVP与MVVM模式,并实例讲解MVP模式,希望您们会喜欢。目录示意图1. 为什么要进行技术框架的设计模块化功能 使得程序模块化,即:内部的高聚合、模块之间的低耦合 提高开发效率 开发人员...
2019-10-17 14:06:12
512
转载 Android 屏幕适配:最全面的解决方案
前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子:Android屏幕适配全攻略(最权威的官方适配指导) 自身的思考&实践给你带来一种全新、全面而逻辑清晰的...
2019-10-17 11:31:41
391
转载 Android消息推送 解决方案
前言鉴于现在运营需求的增强,消息推送在Android开发中应用的场景是十分常见如电商的活动宣传、资讯类产品进行新闻推送等等推送消息截图今天,我将全面介绍Android中实现消息推送的7种主流解决方案目录示意图1. 本质应用App主动向用户推送服务器最新消息实际上,是当服务器有新消息需推送给用户时,先发送给应用App,应用App再发送给用户示...
2019-10-17 11:30:16
1050
转载 EasyFloat:浮窗从未如此简单
应用浮窗由于良好的便捷性和拓展性,在某些场景下有着不错的交互体验。恰巧项目需求有用到,可是逛了一圈GitHub,并没有找到满意的浮窗控件。索性造个好用的轮子,方便你我他,遂成此文。GitHub地址:EasyFloat需求:我们想要什么要能浮在某个单独的页面上,或者多个页面上; 要支持拖拽,这样才够灵活; 可能需要吸附边缘,也可能不需要吸附; 要支持浮窗内部的点击、拖拽; ...
2019-10-16 10:38:45
2485
转载 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
638
转载 设置控件透明度的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
2252
转载 android沉浸式布局详解
原文:https://blog.youkuaiyun.com/qq_21806653/article/details/518021. 沉浸式布局简介沉浸,何为沉浸?我所理解的就是让用户身临其境,尽量不被其他环境因素所干扰。在用户打开一个app的时候,能让用户感觉到界面干净简洁,没有和这个app无关的内容,就算是做到了这一点了。那么什么是和你的app关联不大的呢,其实也没有多少东西,无非就是一个顶部的状态栏...
2019-04-25 09:26:03
1977
转载 深入浅出SOA
文章引子:https://www.cnblogs.com/renzhitian/p/6853289.htmlSOA是什么?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构(具体可以百度)。 用途:SOA解决多服务凌乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫做服...
2019-03-05 10:06:15
397
原创 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
1191
转载 微信APP支付服务端和Android 端详解及其demo
转自:https://blog.youkuaiyun.com/m_sicily/article/details/82493171最近在开发APP微信支付和支付宝支付,Android 端和后端都是我自己开发的,发现两家公司的文档都不是很友好,特别是微信,接触过或者开发过的人都应该有所体会。因此我特意把开发的过程梳理了,做下记录,方便以后可能还用得到,同时也方便后来的一些开发者,希望如此吧。文章较长,耐心看吧...
2019-02-25 10:06:11
1355
转载 singleInstance模式下的坑
文章转自:https://blog.youkuaiyun.com/lihappyangel/article/details/51831611singleInstance是启动模式中的一种,当activity使用该种启动模式时,会单为此activity开辟一个新的栈来存放此activity。这种模式相当于我们一个应用只有一个实例,其实就是单例模式。而这种模式有时候会引起一些问题,在这里记录一下笔者遇到的问题...
2019-01-23 17:21:25
1534
转载 JavaScript 变量提升和函数提升
第一篇文章中提到了变量的提升,所以今天就来介绍一下变量提升和函数提升。这个知识点可谓是老生常谈了,不过其中有些细节方面博主很想借此机会,好好总结一下。今天主要介绍以下几点:1. 变量提升2. 函数提升3. 为什么要进行提升4. 最佳实践那么,我们就开始进入主题吧。1. 变量提升通常JS引擎会在正式执行之前先进行一次预编译,在这个过程中,首先将变量声明及函数声明提升至...
2018-07-25 16:06:47
205
转载 谈谈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
596
转载 一文读懂JavaScript和ECMAScript的区别
这篇文章代表了我目前对 JavaScript 和 ECMAScript 之间差异的理解。文章适合那些熟悉 JavaScript 但又想更加清楚地了解其与 ECMAScript、web 浏览器、Babel 等是何种关系的人。你还会额外了解到脚本语言、JavaScript 引擎以及 JavaScript 运行时。作者:OSC - 协作翻译来源:开源中国|2017-11-13 11:31 ...
2018-07-25 15:50:41
667
转载 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
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人