04 2017 档案
摘要:andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。 1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队
阅读全文
摘要:相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller Android View体系(五)从源码解析View的事件分发机制 Andr
阅读全文
摘要:相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller Android View体系(五)从源码解析View的事件分发机制 Andr
阅读全文
摘要:相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller Android View体系(五)从源码解析View的事件分发机制 Andr
阅读全文
摘要:相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller Android View体系(五)从源码解析View的事件分发机制 Andr
阅读全文
摘要:相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller Android View体系(五)从源码解析View的事件分发机制 前言 本
阅读全文
摘要:Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 Android View体系(四)从源码解析Scroller 前言 三年前写过事件分发机制的文章但是写的不是很好,所以重新再写一篇,关于事件分发机制
阅读全文
摘要:相关文章 Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 Android View体系(三)属性动画 前言 在Android View体系(二)实现View滑动的六种方法这篇文章中我们讲到了用Scroller来实现View的滑动,所以这篇文
阅读全文
摘要:相关文章: Android View体系(一)视图坐标系 Android View体系(二)实现View滑动的六种方法 前言 上一篇文章讲了View滑动的六种方法,其中一种是使用动画,这篇文章我们来讲一讲动画的其中一种:属性动画。 1.android视图动画和属性动画 视图动画我们都了解,它提供了A
阅读全文
摘要:相关文章: Android View体系(一)视图坐标系 1.View的滑动简介 View的滑动是Android实现自定义控件的基础,同时在开发中我们也难免会遇到View的滑动的处理。其实不管是那种滑动的方式基本思想都是类似的:当触摸事件传到View时,系统记下触摸点的坐标,手指移动时系统记下移动后
阅读全文
摘要:前言 Android View体系是界面编程的核心,他的重要性不亚于Android四大组件,在这个系列中我会陆续讲到View坐标系、View的滑动、View的事件分发等文章来逐步介绍Android View体系。 1.View简介 View是Android所有控件的基类,同时ViewGroup也是继
阅读全文
摘要:此文的代码在 Android Design Support Library(一)用TabLayout实现类似网易选项卡动态滑动效果代码的基础上进行修改,如果你没有看过本系列的第一篇文章最好先看一看。CoordinatorLayout是Android Design Support Library中比较
阅读全文
摘要:NavigationView在MD设计中非常重要,之前Google也提出了使用DrawerLayout来实现导航抽屉。这次,在Android Design Support Library中,Google提供了NavigationView来实现导航菜单界面。 这次我们写的代码在Android用TabL
阅读全文
摘要:这里我们用TabLayout来实现这一效果。TabLayout是Android Design Support Library库中的控件。Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Suppo
阅读全文
摘要:写在前面的几句话 前几天谷歌发布了android-support-library-23.2支持库,这一次23.2版本增加了一些新的支持库以及新的功能。接下来这篇文章,就是对这些新功能部分做简单的用法介绍 这次更新增加的东西有: Support Vector Drawables and Animate
阅读全文
摘要:前言 在前几天的IO大会上,Google带来了Android M,同时还有Android支持库的新一轮更新,其中更是增加一个全新的支持库Android Design Support Library,包含了数个重要的Material Design组件,用于将Material Design适配到Andr
阅读全文
摘要:Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件。最重要的是,Android De
阅读全文
摘要:译者地址:【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏 原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session Make
阅读全文
摘要:Android 5.0 Lollipop 是迄今为止最重大的一次发布,很大程度上是因为 material design —— 这是一门新的设计语言,它刷新了整个 Android 的用户体验。但是对于开发者来说,要设计出完全符合 material design 哲学的应用,是一个很大的挑战。Andro
阅读全文
摘要:Android的加载动画AVLoadingIndicatorView 项目地址: 首先,在 build.gradle.中添加; 然后在xml中使用; 也可以通过代码显示或者隐藏; QuantityView 类似购物车数量调节: 效果图: 项目在GitHub上的地址: 项目使用: 在gradle中添加
阅读全文
摘要:上周一年一度的Google IO全球开发者大会刚刚结束,Google在Android这块除过一些优化没有太大亮点。在Android Developer和Android Developer Blog上看了下相关介绍,Google升级了新的Support Library。所以在这里我们就来率先体验一把吧
阅读全文
摘要:github地址:https://github.com/Qihoo360/DroidPlugin DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。 定义
阅读全文
摘要:携程插件化框架 ACDD插件化框架 360插件化框架 Android-Plugin-Framework DL APK动态加载框架 部分框架对比 DynamicLoadApk 迁移成本很重:需要使用『that』而不是『this』,所有activity都需要继承自proxy avtivity(proxy
阅读全文
摘要:什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化开发和组件化开发略有不同,插件化开发时将整个app拆分成很多
阅读全文
摘要:蓝牙如果手动配对并已连接,获取连接的设备: 1.检测连接状态: Java代码 int a2dp = bluetoothAdapter.getProfileConnectionState(BluetoothProfile.A2DP); int headset = bluetoothAdapter.ge
阅读全文
摘要:前段时间,我把自己开车被撞后的处理全过程写成文章(点击这里看看是什么事情),打算与大家分享一下本方无责事故的处理和索赔经验。不过,很多细心的网友却在文章中留意到我被撞前的一个小细节——我当时从右侧车道超过前面的慢车时,慢车忽然右转,结果撞上了我的车——于是大家便在评论中指出我当时的行为属于违规的“右
阅读全文
摘要:1、通过一个对象获得完整的包名和类名 Java代码 package Reflect; /** * 通过一个对象获得完整的包名和类名 * */ class Demo{ //other codes... } class hello{ public static void main(String[] ar
阅读全文
摘要:概要: Java反射机制详解 Java反射机制详解 | |目录 1反射机制是什么 2反射机制能做什么 3反射机制的相关API ·通过一个对象获得完整的包名和类名 ·实例化Class类对象 ·获取一个对象的父类与实现的接口 ·获取某个类中的全部构造函数 - 详见下例 ·通过反射机制实例化一个类的对象
阅读全文
摘要:动态加载技术(也叫插件化技术),当项目越来越庞大的时候,我们通过插件化开发不仅可以减轻应用的内存和CPU占用,还可以实现热插拔,即在不发布新版本的情况下更新某些模块。 通常我们把安卓资源文件制作成插件的形式,无外乎有一下几种: zip、jar、dex、APK(未安装APK、安装APK) 对于用户来讲
阅读全文
摘要:需求驱动 随着业务发展需要和无线部门的拆分,各业务产品模块归属到各业务BU,原有无线App开发团队被分为基础框架、业务A、业务B、业务C等多个开发团队,从此App的开发和发布进入了一个全新模式。在这种模式下,开发沟通成本大大提高,之前的协作模式难以为继,需要新的开发模式和技术解决需求问题。 另一方面
阅读全文
摘要:学习笔记: 1.Android之如何获取短信验证码. 2.如何读取刚收到的短信的相关内容. 现如今,验证码在Android的客户端还是非常普遍的.通过手机账号和验证码直接去注册应用账户的信息.很多应用都以这种方式来完成注册.简单的介绍一下吧. Android获取短信验证码还是比较简单的,通过Mob官
阅读全文
摘要:1. [代码]maven依赖 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <vers
阅读全文
摘要:前言 这几天有时间看了下UICollectionView的东西,才发觉它真的非常强大,很有必要好好学习学习。以前虽然用过几次,但没有系统的整理总结过。这两天我为UICollectionView做一个比较全面的整理。包括基本使用,自定义布局,自定义插入删除动画,自定义转场动画等几部分。好了,开始。 U
阅读全文
摘要:突然发现自己学习没有总结,从今天开始会持续更新此博文,总结自己的学习情况,也便于自己时常查阅。官方文档就列举了,因为那是必读资料。 一、GitHub部分 1.我的github仓库地址 收藏了我常看的开源项目和优秀博文。 github地址:https://github.com/yzhixiang?ta
阅读全文
摘要:看到江湖旅人 写的《10个很棒的学习iOS开发的网站 - 简书》,所以就忍不住写Android 啦,也希望对大家有帮助。我推荐的网站,都是我在学习Android 开发过程中发现的好网站,给初学者一些建议,少走一些弯路。 Android Developers 作为一个Android 开发者,官网的资料
阅读全文
摘要:在很多APP当中,圆形的图片是必不可少的元素,美观大方。本文将带领读者去实现一个圆形图片自定View,力求只用一个Java类来完成这件事情。 一、先上效果图 二、实现思路 在定义View 的onMeasure()方法里设置View的宽高相等,应该取宽高中的最小值。 在自定义View的onDraw()
阅读全文
摘要:原图 效果图 代码: [cpp] view plain copy package com.color; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFact
阅读全文
摘要:图像渐变我们大体想一下思路无非是这样:将图像所有的像素点的RBG,每个点就减去相同的量,而且这个量是个渐变的量。是的,就是这样,我们的程序也是这个思路,不过就是没有单纯的“想”这么简单了。我这里只编写了纵向渐变,还没有写其他复杂的渐变,以后慢慢研究吧。先看效果: 原始图片: 图像变暗渐变: 图像变暗
阅读全文
摘要:代码: [java] view plain copy [java] view plain copy
阅读全文
摘要:对图像进行颜色方面的处理,通过使用颜色矩阵(ColorMatrix)来实现。从而可以达到很多特效如黑白老照片、泛黄旧照片等等。 1.颜色矩阵(ColorMatrix) 这里有详细的介绍:http://developer.Android.com/reference/android/graphics/C
阅读全文
摘要:位图的旋转也可以借助Matrix或者Canvas来实现。 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了旋转操作。 下面例子中把原位图和经旋转处理的位图都绘制到屏幕上,目的是
阅读全文
摘要:[java] view plain copy package xiaosi.bitmap; import android.app.Activity; import android.os.Bundle; public class mianActivity extends Activity { priv
阅读全文
摘要:位图的缩放也可以借助Matrix或者Canvas来实现。 通过postScale(0.5f, 0.3f)方法设置旋转角度,然后用createBitmap方法创建一个经过缩放处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了缩放操作。 下面例子中把原位图和经缩放处理的位图
阅读全文
摘要:[java] view plain copy package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; import android.graphics.dr
阅读全文
摘要:图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法。 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下角,右边,右上角,上边,其中左右上下只需要一个有效长度,就像重写水平进度条一样,只需要一个有效的长度
阅读全文
摘要:在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果。要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作。 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法。 我们可以通过getPixels()方法获得该图像的像素并放到一个数组中去,我们操作这个数组就可以了
阅读全文
摘要:这篇将讲到图片特效处理的图片光晕效果。跟前面一样是对像素点进行处理,本篇实现的思路可参见android图像处理系列之九--图片特效处理之二-模糊效果和android图像处理系列之十三--图片特效处理之六-光照效果。实现的效果是圆圈之内图片像素点不变,圆圈之外的点做模糊处理。所以用到了模糊效果和光照效
阅读全文
摘要:这篇将讲到图片特效处理的图片叠加效果。跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片叠加两篇文章,此篇所讲的与之前有一点区别。叠加原理是两张图片的像素点按透明度叠加,不会进行颜色过滤。
阅读全文
摘要:这篇将讲到图片特效处理的图片光晕效果。跟前面一样是对像素点进行处理,本篇实现的思路可参见android图像处理系列之九--图片特效处理之二-模糊效果和android图像处理系列之十三--图片特效处理之六-光照效果。实现的效果是圆圈之内图片像素点不变,圆圈之外的点做模糊处理。所以用到了模糊效果和光照效
阅读全文
摘要:这篇将讲到图片特效处理的图片叠加效果。跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片叠加两篇文章,此篇所讲的与之前有一点区别。叠加原理是两张图片的像素点按透明度叠加,不会进行颜色过滤。
阅读全文
摘要:这篇将讲到图片特效处理的光照效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理:图片上面的像素点按照给定圆心,按照圆半径的变化,像素点的RGB值分别加上相应的值作为当前点的RGB值。 例: ABCDE FGHIJ KLMNO 如果指定H点为光照效果的中心,半径为两个像素点,那么G点RGB值
阅读全文
摘要:这篇将讲到图片特效处理的浮雕效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理:用前一个像素点的RGB值分别减去当前像素点的RGB值并加上127作为当前像素点的RGB值。 例: ABC 求B点的浮雕效果如下: B.r = C.r - B.r + 127; B.g = C.g - B.g +
阅读全文
摘要:这篇将讲到图片特效处理的底片效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理:将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值。 例: ABC 求B点的底片效果: B.r = 255 - B.r; B.g = 255 - B.g; B.b = 255 - B.b; 效果图
阅读全文
摘要:这篇将讲到图片特效处理的锐化效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理: 一、简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的和的平均数,再乘以相应的系数,然后在与当前像素点之和。 例: ABC DEF GHI 对E点进行锐化
阅读全文
摘要:这篇将讲到图片特效处理的模糊效果。跟前面一样是对像素点进行处理,算法是通用的,但耗时会更长,至于为什么,看了下面的代码你就会明白。 算法: 一、简单算法:将像素点周围八个点包括自身一共九个点的RGB值分别相加后平均,作为当前像素点的RGB值,即可实现效果。 举例: ABC DEF GHI 假如当前点
阅读全文
摘要:图片特效处理系列将介绍图片的像素点的特效处理,这些物资注重的是原理。也就是说只要你知道这些算法不管是C++,VB,C#,Java都可以做出相同的特效。下面将介绍图片怀旧效果的算法。算法如下: 上面公式的意思是说将每个像素点的RGB值先分离出来,然后再按照上面的三个算式分别重新计算出RGB值然后做为当
阅读全文
摘要:前面介绍了一种用透明图片叠加的方式添加花边边框,下面将介绍另外一种图片叠加添加花边边框的方式。前面方法有一个缺点,就是做成PNG图片,图片体积会很大,不是一般的大,比同样的JPG大三倍多,如果项目可以忽略包的大小,那么可以用前种处理方式,本文讲到的虽然可以减小图片的体积,但处理较复杂,而且本人研究的
阅读全文
摘要:图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法。 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下角,右边,右上角,上边,其中左右上下只需要一个有效长度,就像重写水平进度条一样,只需要一个有效的长度
阅读全文
摘要:前面一篇讲到给图片加边框的方式,只能给图片加一些有规则的边框,如果想加一些比较精美的效果,就有点麻烦了。下面就给出解决这个问题的思路。 思路是:一些比较精美的花边图片我们是很难用代码控制,就目前本人水平是达不到,不排除牛人,再说了PS那些效果都是程序员做出来,肯定有实现的方法,这可能就要涉及很复杂的
阅读全文
摘要:原图: 处理后: 下面贴代码: 一、图片处理层: [java] view plain copy package com.jacp.tone.view; import java.util.ArrayList; import android.content.Context; import android
阅读全文
摘要:1、首先创建一个Bitmap图片,并指定大小; 2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可; 3、需要保存的目录File,注意如果写的目录如“/sdcard/song/”如果不存在的话,要先创建(file.mkdirs).。 4、需要添加权限:<uses-permiss
阅读全文
摘要:[java] view plain copy //设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width){ borderwidth = width; } [
阅读全文
摘要:<1>简介 之前往往是通过Bitmap、Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图。 现在我给大家介绍一种比较简单的方法:(网上有) 在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,
阅读全文
摘要:[java] view plain copy package xiaosi.RoundConcer; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Bitmap.Config;
阅读全文
摘要:HandWritingActivity.Java [java] view plain copy package xiaosi.handWriting; import android.app.Activity; import android.app.AlertDialog; import androi
阅读全文
摘要:[java] view plain copy mPaint = new Paint(); mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SCREEN)); [java] view plain copy [java] view pl
阅读全文
摘要:只要在图片范围之内,文字可随意点击移动。 [java] view plain copy package xiaosi.GetTextImage; import android.content.Context; import android.content.res.Resources; import
阅读全文
摘要:<1> 设置屏幕无标题栏 在AndroidManifest.xml设置: Android:theme="@android:style/Theme.NoTitleBar"
阅读全文
摘要:Android中获取字符串长度、宽度(所占像素宽度) 计算出当前绘制出来的字符串有多宽,可以这么来! 方法1: Paint paint = new Paint(); Rect rect = new Rect(); //返回包围整个字符串的最小的一个Rect区域 paint.getTextBounds
阅读全文
摘要:package xiaosi.grivaty; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Rec...
阅读全文
摘要:getLocationOnScreen ,计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标 getLocationInWindow ,计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标 (不是很
阅读全文
摘要:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int v = this.getWindow().getAttri
阅读全文
摘要:[java] view plain copy <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wi
阅读全文
摘要:别忘记在ApplicationManifest.xml 中加上权限的设置。 <uses-permission Android:name = "android.permission.SET_WALLPAPER"/> 壁纸设置方法有三种: 第一 通过WallpaperManager方法中的 setBit
阅读全文
摘要:BorderTextViews.Java [java] view plain copy package xiaosi.BorderTextView; import android.content.Context; import android.graphics.Canvas; import andr
阅读全文
摘要:<1>简介 之前往往是通过Bitmap、Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图。 现在我给大家介绍一种比较简单的方法:(网上有) 在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,
阅读全文
摘要:[java] view plain copy //设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width){ borderwidth = width; } [
阅读全文
摘要:具体的看一下博文:Android学习笔记进阶15之Shader渲染 [java] view plain copy package xiaosi.BitmapShader; import android.app.Activity; import android.os.Bundle; public cl
阅读全文
摘要:1、首先创建一个Bitmap图片,并指定大小; 2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可; 3、需要保存的目录File,注意如果写的目录如“/sdcard/song/”如果不存在的话,要先创建(file.mkdirs).。 4、需要添加权限:<uses-permiss
阅读全文
摘要:<1>简介 具体的看一下博文:Android学习笔记进阶15之Shader渲染 public BitmapShader(Bitmap bitmap,Shader.TileMode tileX,Shader.TileMode tileY) 调用这个方法来产生一个画有一个位图的渲染器(Shader)。
阅读全文
摘要:在我们玩的游戏中我们会经常见到一些图像的特效,比如半透明等效果。要实现这种半透明效果其实并不难,需要我们懂得图像像素的操作。 不要怕,其实在Android中Bitmap为我们提供了操作像素的基本方法。 我们可以通过getPixels()方法获得该图像的像素并放到一个数组中去,我们操作这个数组就可以了
阅读全文
摘要:Android提供的Shader类主要是渲染图像以及一些几何图形。 Shader有几个直接子类: BitmapShader : 主要用来渲染图像 LinearGradient :用来进行线性渲染 RadialGradient : 用来进行环形渲染 SweepGradient : 扫描渐变 围绕一个中
阅读全文
摘要:图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法。 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下角,右边,右上角,上边,其中左右上下只需要一个有效长度,就像重写水平进度条一样,只需要一个有效的长度
阅读全文
摘要:原图: 处理后: 下面贴代码: 一、图片处理层: [java] view plain copy package com.jacp.tone.view; import java.util.ArrayList; import android.content.Context; import android
阅读全文
摘要:前面介绍了一种用透明图片叠加的方式添加花边边框,下面将介绍另外一种图片叠加添加花边边框的方式。前面方法有一个缺点,就是做成PNG图片,图片体积会很大,不是一般的大,比同样的JPG大三倍多,如果项目可以忽略包的大小,那么可以用前种处理方式,本文讲到的虽然可以减小图片的体积,但处理较复杂,而且本人研究的
阅读全文
摘要:前面一篇讲到给图片加边框的方式,只能给图片加一些有规则的边框,如果想加一些比较精美的效果,就有点麻烦了。下面就给出解决这个问题的思路。 思路是:一些比较精美的花边图片我们是很难用代码控制,就目前本人水平是达不到,不排除牛人,再说了PS那些效果都是程序员做出来,肯定有实现的方法,这可能就要涉及很复杂的
阅读全文
摘要:这篇将讲到图片特效处理的模糊效果。跟前面一样是对像素点进行处理,算法是通用的,但耗时会更长,至于为什么,看了下面的代码你就会明白。 算法: 一、简单算法:将像素点周围八个点包括自身一共九个点的RGB值分别相加后平均,作为当前像素点的RGB值,即可实现效果。 举例: ABC DEF GHI 假如当前点
阅读全文
摘要:图片特效处理系列将介绍图片的像素点的特效处理,这些物资注重的是原理。也就是说只要你知道这些算法不管是C++,VB,C#,Java都可以做出相同的特效。下面将介绍图片怀旧效果的算法。算法如下: 上面公式的意思是说将每个像素点的RGB值先分离出来,然后再按照上面的三个算式分别重新计算出RGB值然后做为当
阅读全文
摘要:图片涂鸦和水印其实是一个功能,实现的方式是一样的,就是一张大图片和一张小点图片叠加即可。前面在android图像处理系列之六--给图片添加边框(下)-图片叠加中也讲到了图片叠加,里面实现的原理是直接操作像素点。下面给出别外一种方式让图片叠加--用Canvas处理图片,canvas已经封装好了,直接调
阅读全文
摘要:这篇将讲到图片特效处理的浮雕效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理:用前一个像素点的RGB值分别减去当前像素点的RGB值并加上127作为当前像素点的RGB值。 例: ABC 求B点的浮雕效果如下: B.r = C.r - B.r + 127; B.g = C.g - B.g +
阅读全文
摘要:这篇将讲到图片特效处理的锐化效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理: 一、简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的和的平均数,再乘以相应的系数,然后在与当前像素点之和。 例: ABC DEF GHI 对E点进行锐化
阅读全文
摘要:这篇将讲到图片特效处理的底片效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理:将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值。 例: ABC 求B点的底片效果: B.r = 255 - B.r; B.g = 255 - B.g; B.b = 255 - B.b; 效果图
阅读全文
摘要:这篇将讲到图片特效处理的图片叠加效果。跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片叠加两篇文章,此篇所讲的与之前有一点区别。叠加原理是两张图片的像素点按透明度叠加,不会进行颜色过滤。
阅读全文
摘要:这篇将讲到图片特效处理的光照效果。跟前面一样是对像素点进行处理,算法是通用的。 算法原理:图片上面的像素点按照给定圆心,按照圆半径的变化,像素点的RGB值分别加上相应的值作为当前点的RGB值。 例: ABCDE FGHIJ KLMNO 如果指定H点为光照效果的中心,半径为两个像素点,那么G点RGB值
阅读全文
摘要:图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法。 基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下角,右边,右上角,上边,其中左右上下只需要一个有效长度,就像重写水平进度条一样,只需要一个有效的长度
阅读全文
摘要:这篇将讲到图片特效处理的图片光晕效果。跟前面一样是对像素点进行处理,本篇实现的思路可参见android图像处理系列之九--图片特效处理之二-模糊效果和android图像处理系列之十三--图片特效处理之六-光照效果。实现的效果是圆圈之内图片像素点不变,圆圈之外的点做模糊处理。所以用到了模糊效果和光照效
阅读全文
摘要:这是Intent的一个用法。 在ActivityAction里面有一个“ACTION_GET_CONTENT”字符串常量,该常量让用户选择特定类型的数据。 intent.setType("image/*"); 选择本地所有的图片。 返回该数据的URI.我们利用该常量生成该图片的位图Bitmap,然后
阅读全文
摘要:举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。 /*****************************/ 华丽丽的分割线 /
阅读全文
摘要:大家平时见到的最多的可能就是Frame动画了,Android中当然也少不了它。它的使用更加简单,只需要创建一个 AnimationDrawabledF对象来表示Frame动画,然后通过addFrame 方法把每一帧要显示的内容添加进去,并设置播放间隔时间,本例子中间隔时间为5S, 最后通过start
阅读全文
摘要:[java] view plain copy package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; import android.graphics.dr
阅读全文
摘要:本文用来记录一些Android 操作图片的方法,方便查看。 1.将Drawable转化为Bitmap [java] view plain copy public static Bitmap drawableToBitmap(Drawable drawable){ int width = drawab
阅读全文
摘要:[java] view plain copy package xiaosi.GalleryFlow; import android.app.Activity; import android.os.Bundle; public class GalleryFlowActivity extends Act
阅读全文
摘要:网上很多的倒影特效实际上就是一个对称变换,在改变透明度即可。 Matrix对称变换包括很多种,有关于Y轴对称,关于X轴对称,关于y= -x对称等等。 1 关于Y轴对称 [java] view plain copy // 获取资源文件的引用res Resources res = getResource
阅读全文
摘要:刚开始我也不懂啥叫错切变换,一看效果图你就恍然大悟。 对图像的错切变换做个总结: x = x0 + b*y0; y = d*x0 + y0; 与之对应的方法是: [java] view plain copy [java] view plain copy
阅读全文
摘要:Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵。最好记住。如下图: 解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向
阅读全文
摘要:以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。 首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。 首先给大家举个简单的例子:现设点P0(x0, y0)进行平
阅读全文
摘要:本文给开发者集中展现了Android平台中的三种翻页效果机器实现原理,希望能够对开发者有实际的帮助价值! 第一种翻页效果如下: 实现原理: 当前手指触摸点为a,则 a点坐标为(ax,ay), 由三角形acb与三角形cmb为对称三角形并且直线cp为am垂直平分线,则 B点坐标为(ax/2,ay/2)。
阅读全文
摘要:[java] view plain copy package xiaosi.bitmap; import android.app.Activity; import android.os.Bundle; public class mianActivity extends Activity { priv
阅读全文
摘要:位图的旋转也可以借助Matrix或者Canvas来实现。 通过postRotate方法设置旋转角度,然后用createBitmap方法创建一个经过旋转处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了旋转操作。 下面例子中把原位图和经旋转处理的位图都绘制到屏幕上,目的是
阅读全文
摘要:位图的缩放也可以借助Matrix或者Canvas来实现。 通过postScale(0.5f, 0.3f)方法设置旋转角度,然后用createBitmap方法创建一个经过缩放处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了缩放操作。 下面例子中把原位图和经缩放处理的位图
阅读全文
摘要:位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。 1. 从资源中获取位图 可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。 当然,首先需要获取资源: Resources res=getResources(); 使用BitmapDrawabl
阅读全文
摘要:最近有一个项目需求,水平滑动实现视图切换(分页显示效果) 最先想到的是ImageSwitcher + ViewFilpper 来实现,这效果做出来我自己都不想用,更不用说客户的感觉了:滑动效果生硬,只支持图片上的滑动,不是整个View上面的滑动 然后尝试了使用Gallery + BaseAdapte
阅读全文
摘要:Android中提供了一个Gallary,可以实现图片或者文本的左右滑动效果。 如何让整个视图都能实现左右滑动,达到类似于Gallary的效果呢?可以直接用一个开源的ViewFlow来实现。 项目地址:点击打开链接 Android中提供了一个Gallary,可以实现图片或者文本的左右滑动效果。 如何
阅读全文
摘要:如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧。 一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件—ViewFlipper 这个控件是什么呢?请注意观看博文Android学习笔记之ViewFilpper 。 除了这个ViewFlipper,我们还
阅读全文
摘要:<1>被添加到ViewFlipper中的两个或两个以上的视图之间将执行一个简单的ViewAnimator动画。一次仅能显示一个子视图。如果需要,可以设置间隔时间使子视图像幻灯片一样自动显示。 <2>XML属性 属性名称 描述 Android:autoStart 当设为true时,自动启动动画 此时必
阅读全文
摘要:我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件、触摸事件、传感器事件等来实现。 键盘是Android中主要的输入设备,对按键的响应的处理是响应之间在程序中使用键盘的核心内容。 键盘事件主要包括: boolean onKeyDown(in
阅读全文
摘要:目前Android平台有三种网络接口可以使用,他们分别是:Java.NET.*(标准Java接口),org.apache(Apache接口),和android.Net.*(android网络接口)。 1 标准Java接口 java.net.*提供与联网有关的类,包括流和数据包套接字、Internet
阅读全文
摘要:转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41967509,本文出自:【张鸿洋的博客】 1、概述 记得初学那会写过一篇博客Android 完美实现图片圆角和圆形(对实现进行分析),主要是个自定View加上使用Xfermode实
阅读全文
摘要:API level compileSdkVersion(Eclipse中叫做build target) minSdkVersion targetSdkVersion Android 高版本API方法在低版本系统上的兼容性处理
阅读全文
摘要:前言: 有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service。怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了。理解这句话的含义,许多有关And
阅读全文
摘要:为了延长电池的使用寿命,Android设备会在一段时间后使屏幕变暗,然后关闭屏幕显示,最后停止CPU。WakeLock是一个电源管理系统服务功能,应用程序可以使用它来控制设备的电源状态。 WakeLock可以用来保持CPU运行,避免屏幕变暗和关闭,以及避免键盘背光灯熄灭。 注意: 创建和使用Wake
阅读全文
摘要:方法一:这种方法比较简单,只有一个步骤,只需要在配置文件中把需要设置为透明的activity的样式设置为 Android:theme="@android:style/Theme.Translucent" 即可,这种方式只改变背景的颜色,对其他控件没有影响。但是它只能把背景设置为完全透明。如果要设置为
阅读全文
摘要:startActivity时报错Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag startActivity时报错Calling startActi
阅读全文
摘要:尝试利用 WindowManager 添加浮窗的方式实现 想在锁屏上面实现弹窗,第一个想法就是利用 WindowManager 设置 Window 的 Flag,通过设置 Flag 的显示优先级来让窗口显示在锁屏的上面。接下来就是试验可能相关的 Window Type 属性,验证该方案是否可行。转载
阅读全文
摘要:广播 广播的概念 现实:电台通过发送广播发布消息,买个收音机,就能收听 Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件。 Android系统在运行的过程中,会产生很多事件,比如开机、电量改变、收发短信、拨打电话、屏幕解锁 IP拨号器 原理:接收拨打电话的广播,修改广播内携带的...
阅读全文
摘要:一、简介 Android系统中定义了几种低功耗状态:earlysuspend、suspend、hibernation. 1) earlysuspend: 是一种低功耗的状态,某些设备可以选择进入某种功耗较低的状态,比如 LCD可以降低亮度或灭掉; 2) suspend: 是指除电源管理以外的其他
阅读全文
摘要:在android系统中,不同铃声存放的铃声路径: /system/media/audio/ringtones 来电铃声 /system/media/audio/notifications 短信通知铃声 /system/media/audio/alarms 闹钟铃声 铃声的设置: import java.io.File; ...
阅读全文
摘要:package com.Aina.Android; import java.io.File; import android.app.Activity; import android.content.Intent; import android.media.RingtoneManager; import...
阅读全文
摘要:上面的代码就是获得手机三个铃声的代码。 其实,获得手机铃声的操作也很简单。 它主要就涉及两个类 1.RingtoneManager-铃声管理类 2.Ringtone-铃声操作类 基本上就是三个步骤 1.获得Uri 获得Uri的方法,需要传入一个参数 RingtoneManager.TYPE_NOTI
阅读全文
摘要:关于铃声管理,如果你想深究,那就需要到Framework中去查看了,本着实用的考虑,本次不做深挖!! 贴上代码: [java] view plain copy <span style="font-size:14px;">import android.app.Activity; import andr
阅读全文
摘要:在Android开发中有时候需要用到播放声音操作,在android API 的media包中有三种方式可供我们选择,它们分别是Ringtone,SoundPool,MediaPlayer。因为在我目前的项目中暂时用不到播放很长的音频文件,只需要播放一些简短的提示音,所以在这篇博文中我只是简单的记录下
阅读全文
摘要:android 闹钟提醒并且在锁屏下弹出Dialog对话框并播放铃声和震动 1、先简单设置一个闹钟提醒事件: 注意:CallAlarmReceiver 广播接收器,所以要在AndroidManifest.xml配置:如 2、广播接收器: 很简单一个继承BroadcastReceiver,然后跳转到弹
阅读全文
摘要:转载请注明出处:http://blog.csdn.NET/wei_chong_chong/article/details/51258336 项目需要:实现一个定时提醒的功能 查阅资料知道,需要使用AlarmManager AlarmManager介绍: AlarmManager是Android中常用
阅读全文
摘要:pendingIntent字面意义:等待的,未决定的Intent。 pendingIntent对象,使用方法类的静态方法 : getActivity(Context, int, Intent, int) >跳转到一个activity组件、 getBroadcast(Context, int, Int
阅读全文
摘要:情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击动作,点击后跳转到app中对应的Activity。目前遇到的问题是Service以独立进程运行,在收
阅读全文
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 //当前应用是否处于前台 private boolean isForeground(Context context) { if (context != null) { ActivityManager activityManager = (ActivityManager) context...
阅读全文
摘要:本次给大家分析的是Android中Alarm的机制所用源码为最新的Android4.4.4。首先简单介绍如何使用Alarm并给出其工作原理,接着分析Alarm和Timer以及Handler在完成定时任务上的差别,最后分析Alarm机制的源码。 什么是Alarm Alarm是android提供的用于完
阅读全文
摘要:字符串拼接 直接用+号:String a = "I"; String b = "love"; String c = "you";String d = a+b+c;就能得到I love you了 "I"+"love"+"you"得到的也是I love you 字符串比较 ==和equals都能比较字符串,返回的都是boolean类型 String a ="I";String b = "love...
阅读全文
摘要:public class Date_U { /** * 掉此方法输入所要转换的时间输入例如("2014年06月14日16时09分00秒")返回时间戳 * * @param time * @return */ public String data(String time) { ...
阅读全文
摘要:/** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:m...
阅读全文
摘要:import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TestTime { public static void main(String[] args) { S...
阅读全文
摘要:目前网上流行着很多对“时间对话框TimePickerDialog”的讲解文章,但感觉都不是很详细。这里详细对该方面的知识进行介绍,旨在帮助初学者能够快速掌握该项技术。 首先要做的是声明一个日历类的对象: private Calendar c; 然后对其进行实例化: c = Calendar.getI
阅读全文
摘要:引子:在我们的应用为用户提供定位服务时,通常想为用户提供精确点的定位服务,这是需要用户配合的。我们必须先检测用户手机的GPS当前是否打开,若没打开则弹出对话框提示。用户若不配合我们也没办法,只能采用基站定位方式。如果我们的应用必须用户打开GPS才可使用,这时流氓一点的做法,就是强制帮用户打开GPS。
阅读全文
摘要:用户手机当前网络可用:WIFI、2G/3G网络,用户打开与不打开网络,和是否可以用是两码事。可以使用指的是:用户打开网络了并且可以连上互联网进行上网。 检测当前网络是否可用,代码如下: [java] view plain copy /** * 检测当的网络(WLAN、3G/2G)状态 * @para
阅读全文
摘要:Android 6.0 扫描不到 Ble 设备需开启位置权限 之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试的,今天使用 Android 6.0 的设备测试的时候,发现扫描不到周围的 Ble 设备。后来发现 6.0 需要在应用运行过程中请求位置权限,并且还要打开位置。
阅读全文
摘要:英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion 作者:Ian Lake,Google Android 推广工程师;翻译:韩国恺。 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Andro
阅读全文