`
文章列表
随着应用不断迭代更新,业务线的扩展,应用越来越大(比如:集成了各种第三方SDK或者公共开源的Library文件、jar文件)这样一来,项目耦合性就很高,重复作用的类就越来越多了,SO:问题就来了。 相信大家在做自己公司项目时,都有机会遇到下面的错误: UNEXPECTED TOP-LEVEL EXCEPTION:  java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:50 ...
一、继承AppBarLayout.Behavior AppBarLayout有一个默认的Behavior,即AppBarLayout.Behavior,AppBarLayout.Behavior已注解的方式设置给AppBarLayout。 @CoordinatorLayout.DefaultBehavior(AppBarLayout.Behavior.class) public class AppBarLayout extends LinearLayout { ... } 1.继 ...
算法 缩小尺寸。 将图片缩小到8x8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。 简化色彩。 将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。 计算平均值。 计算所有64个像素的灰度平均值。 比较像素的灰度。 将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。 计算哈希值。 将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。 对比指纹 看看64位中有多少位 ...
在刚推出的 Support Library 25.3.0 里面新增了一个叫 SpringAnimation 的动画,也就是弹簧动画。要是用它来做一个滑动控件下拉回弹的效果,应该不错吧。 SpringAnimation 开始之前,别忘了在 app 的 build.gradle 加上: compile 'com.android.support:appcompat-v7:25.3.0' compile 'com.android.support:design:25.3.0' compile 'com.android.support:support-dynamic-animation:25.3.0 ...
1.需求简介 角标是什么意思呢? 看下图即可明了: 可以看到图中的乐购这个app右上角的红色的圆圈,里面有10这个数字的,就是一种角标。 角标,英语是badge,也就是“徽章,像章,奖章; 象征,标记”的意思。 一般来说,应用的角标是用来标记有多少条提醒(Notification)没读(unread),一旦点击提示进应用阅读了,角标也会消失。 2. Android角标起源 角标原本是苹果的iOS中的东西,Android原生并不支持角标,因为Google的意思是让大家用Notification(提示栏)即可,角标实在大有让处女座“跳崖”的风险。幸好我不是... 最近公司的项目中, ...
Android 最近推出一个新的基于物理学的动画支持库,命名为:SpringAnimation(弹簧动画),发布在 Support Library 25.3.0 里面。昨天,Google Android 研发工程师「Nick Butcher」在 Twitter 上发布推文予以公布,并在 gist 给出了一个简单示例代码,演示 SpringAnimation 的核心操作。 我们先来感受一下效果图: 再来看一下 Activity 里面的实现代码(在作者源码上做了一些调整,利于拍版美观和阅读体验): import android.app.Activity; import android. ...
几天前我偶然发现了我Android开发早期时制作的一份学习备忘单,是为理解如何处理Android资源和主题属性的语法而整理的。 令人意外的是,我发现它对现在的我非常有用,因此决定整理成更适合博客的形式并分享给大家。 知道 ...
ViewPager 作为一个横向滚动的控件, 在 ViewGroup 中嵌套时会有一些可以优化的细节体验. 问题说明 当 SwipeRefreshLayout 中有 ViewPager 控件, 两者的滑动会相互冲突. 具体表现为 ViewPager 的左右滑动不顺畅, 容易被 SwipeRefreshLayout 拦截(即出现刷新的 View ). 问题原因: ViewPager 本身是处理了滚动事件的冲突, 它在横向滑动时会调用 requestDisallowInterceptTouchEvent() 方法使父控件不拦截当前的 Touch 事件序列. 但是 SwipeRefreshLa ...
先看图 打开前: 打开后: Activity类:(不要纠结于这个类的完整性,主要看一下怎么操作ServerFtplet类即可) import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ImageView; ...
有时候标题栏会浮在内容之上,而内容会有颜色的变化,这时候就要求标题栏能够变化透明度,标题栏中的图片能够变化颜色。看下效果,如下图: 描述 当界面往下划的时候,我们需要做的是 将标题栏是从全透明往全不透明转变 将标题栏中的图片从白色往主题色转变 当界面往上时,就反过来转变界面。 编写步骤 我们的demo的布局是标题栏在recyclerView的上方,布局如下 我们只需要3个步骤: 1.监听recyclerView的滑动 2.滑动时计算出位移的百分比 3.根据百分比来操作标题栏背景和图片 准备工作 在Activity的onCreate里初始化下视图,获取view对象,获取标题栏的背景图 ...
用法在注释中: import android.animation.Animator; import android.animation.ArgbEvaluator; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view ...
用法: translationView.show(); translationView.hide(); translationView.setShadowColor(ActivityCompat.getColor(MainActivity.this, R.color.blue));//设置背景颜色 源码: import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import ...
纯手工超级迷你轻量级全方向完美滑动处理侧滑控件(比官方 support v4 包 SlidingPaneLayout 控件更加 Q 迷你,累计代码不足 300 行),支持上下左右有各种侧拉,可配置侧拉松手临界距离,支持单独使用、ListView、GridView、RecycleView、ScrollView、ViewPager 等各种嵌套(作为 item 使用或者作为以上所有控件的父容器使用),具体不同配置展示效果如下图。 like SlidingPaneLayout, all direction support. import android.content.Context; impo ...
我们在使用微信、QQ、京东等app的时候,会发现有时候通过他们的wap网页可以打开本地app,如果安装了则直接跳转,没有安装的话直接跳转应用商店 网页跳转app的原理如下: 对于Android平台URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。 格式如下: scheme://host:port/path 举个栗子: 下面看下data flag <data android:host="string" android:mimeType="string&qu ...
      最近一口气买了8本书,其中Android方面的书就买了一本----《第一行代码》第2版,litepal的作者,本人一直在使用litepal开发项目,所以买android只认准这个:)      强制下线的基本思想就是在界面上弹出一个对话框,让 ...
Global site tag (gtag.js) - Google Analytics