Android 开发记录
文章平均质量分 92
爱coding的卖油翁
我亦无他 惟手熟尔
展开
-
谈一谈对Activity的理解
一、Activity的生命周期Activity的基本生命周期如下代码 所示:public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected voi...原创 2018-02-24 11:17:52 · 586 阅读 · 0 评论 -
android 仿QQ5.0退出框
先看看QQ的退出框。直接上代码看看了:package com.woyou.ui.component;import android.app.Activity;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;原创 2015-03-13 17:56:03 · 783 阅读 · 0 评论 -
Android Material Design 一些属性详解
android:windowTranslucentStatus:状态栏是否半透明。如果是true的话,你会发现你的Toolbar陷入到状态栏里面了,所以为了预留空间,需要下面的属性。"android:windowTranslucentStatus">trueandroid:fitsSystemWindows:基于系统界面(比如状态栏)调整View的布局,如果是true的话,它就会给系统界面原创 2016-06-01 23:09:56 · 834 阅读 · 0 评论 -
Android Settings 开发(一) -- EditText UI 修改
android 系统 5.0 以上的 Settings 的 EditText 的 UI不是很好看,在我们定制自己的设置的时候,需要修改系统 Settings 的 EditText 的UI风格。原先的:修改过后:1.自定义一个EditText的style<style name="customEditTextStyle" parent="@*android:style/Widget.Material.E原创 2016-04-18 18:05:15 · 1676 阅读 · 0 评论 -
Android 修改EditText的光标颜色和背景色
Edittext 的光标颜色:在xml布局文件中 android:textCursorDrawable=”@null” 表示光标的颜色和字体的颜色一样当然,我们也可以自定义光标的颜色,在drawable文件夹下写个edit_cursor_color.xml文件<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://s原创 2016-04-14 15:47:44 · 39399 阅读 · 1 评论 -
Android 判断 PendingIntent 是否存在
检查 PendingIntent是否存在, PendingIntent 有一个标志位的: Pending_FLAG_NO_CREATE 。 public static boolean isPendingIntentAvailable(Context context) { Intent i= new Intent(context, CoreService.class); Pending原创 2016-02-26 11:55:45 · 1337 阅读 · 0 评论 -
Android 中拦截 Activity 的启动(拦截系统的 Intent)
目的最近因为项目需要,我们自己定制的只能硬件里面没有系统的电话、相机、短信、浏览器等组件,如果其他 App 来发 Intent 调用的话,程序就会崩溃。要求我们做一个系统拦截,拦截这些意图。有几种方法: 1.写一个 App 专门来拦截这些 Intent。(通用性比较高) 2.在源码层做拦截。(比较简单)给程序加锁360等相关程序可以给我们装上的应用程序加锁,也就是我们在点开某个应用程序的时候,会原创 2016-03-18 21:13:05 · 12853 阅读 · 2 评论 -
Android 图片处理以及recycle机制
我们经常会涉及到对相机拍照,然后处理拍照后的图片,最后在显示到UI上。如果处理的不好,就会导致系统卡顿,甚至会出现OOM,程序崩溃。 图片的处理public static BitmapDrawable getScaledDrawable(Activity a, String path) { if (a == null) return null; Display display = a.get原创 2016-01-10 18:45:21 · 2152 阅读 · 0 评论 -
Android 判断设备是否拥有相机
许多定制的Android系统,并不带相机功能,如果强行调用,程序会崩溃,我们需要做下判断,在进行调用。PackageManager pm = getPackageManager();boolean hasACamera = pm.hasSystemFeature(PackageManager.FEATURE_CAMERA) || pm.hasSystemFeatur原创 2016-01-10 18:33:06 · 2183 阅读 · 0 评论 -
Android JS桥交互("Uncaught ReferenceError: xxx is not defined or xxx has no method")
网上android和js交互的代码有不少,也很容易搜到。最近在做的项目需要用到js桥,遇到了一些问题,记录下来,希望以后遇到能马上解决掉。一开始我找的demo是从这个:http://blog.csdn.net/beyond0525/article/details/9374301 上面有js调用android的代码,也有android调用js的代码,很全面,在API 17一下跑起来都OK的,但是我们原创 2015-11-18 15:26:39 · 12104 阅读 · 1 评论 -
重温 Activity的生命周期
1.Activity的本质是什么2.Activity的生命周期3.Activity的启动方式---直接启动、匿名启动4.Activity之间的数据交互5.如何启动系统的Activity6.Activity的启动模式Activity的声明周期:第一次启动:onCreate(原创 2015-11-02 15:01:29 · 614 阅读 · 0 评论 -
Activity左边滑出,右边滑入的动画切换
Activity左边滑出,右边滑入的动画切换转载请注明出处:http://blog.csdn.net/u012301841/article/details/46920809大家都知道Android系统默认Activity间的动画切换效果为:左边滑出、右边滑入,按返回键的动画切换效果为:左边滑入,右边滑出。但是现在的手机制造商都定制自己的Rom,像MI UI和锤子OS等之类的手机,导致Android原原创 2015-07-17 01:06:45 · 16975 阅读 · 2 评论 -
ScrollView滑动的监听
ScrollView滑动的监听有时候我们需要监听ScrollView的滑动事件,来完成业务需求。第一种:可以直接实现OnTouchListener接口,在这里面写你所需要的操作scrollView.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent原创 2015-07-15 13:52:30 · 2440 阅读 · 0 评论 -
Android app开发中用户协议(使用条款)文字自动换行
用户协议(使用条款)文字自动换行处理我们在开发app的时候,经常在关于这一模块,会涉及到用户协议或者使用条款这一类的,纯文本界面,但是需要自动换行和拖动。通常,PM会给你一大段文本,让你自己去处理。IOS可以直接复制文本进去,就会自动换行,不用处理,完全ok。为什么Android不行?我们只能一行行的去复制,去加换行符\r\n之类去处理。下面给大家介绍一种好用的方法,mark一下。处理工具notpa原创 2015-06-26 12:37:44 · 10553 阅读 · 2 评论 -
android EditText的自动换行和对Enter键的改变
引我们长时间对EditText的控件的使用,已经积累了不少的技巧了,比如输入的类型(电话号码,数字类型,邮箱,文本…),光标的变化,默认的输入字体… 其实android的EditText中有许多的组合小技巧,并且还和android的 版本有很深切的关系。我们会发现我们在EditText中输入文字的时候,光标会随着你文字的增加一直往后移动,但是在有的android版本中,它并不会换行,其中有种有种可原创 2015-05-05 20:31:49 · 6662 阅读 · 0 评论 -
android 防止对控件的重复点击和同时点击多个控件
引在一个手机界面中,用户经常会同时点击多个控件,经常会在短时间内对某一个控件点击多下,这样就会造成各种各样的bug。防止点击多个控件只要在xml文件中的父容器总加入这样一行代码即可: android:splitMotionEvents=”false” 如在下面的LinearLayout中加入这行话,表示每一次只能点击LinearLayout其中的一个元素,点击了其他的元素是无效的原创 2015-05-05 20:16:10 · 1709 阅读 · 2 评论 -
android圆形有边框无背景色
最近迷上自定义控件了,感觉做出来的效果比美工切图给的好多了,现在再来一款自定义控件:android圆形有边框无背景色...<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <corners android:en原创 2015-01-17 18:39:55 · 1319 阅读 · 0 评论 -
android圆角矩形有边框无背景色
我们经常要用到圆角矩形,这也是现在的流行的样式..但是今天在工作中,遇到要写圆角矩形有边框但无背景色的button,本来想让妹子帮忙切图的,但是不想麻烦妹子,自己撑着,说可以做,结果弄了老半天菜搞定的,现在给大家看看,以后避免这麻烦...()<shape xmlns:android="http://schemas.android.com/apk/res/android" androi原创 2015-01-15 21:02:37 · 5290 阅读 · 0 评论 -
Android Camera 找出屏幕的最佳尺寸大小
大家平时都会调用到Camera 这个API,在设置Camera.Paramera的参数的时候,有一个预览大小。也就是: setPreviewSize(int width, ing height) 这个相机的大小不能随便设置,如果设置了不可接受的值,程序会崩溃掉。 现在给大家提供一个很好用的方法。private Size getBestSupportedSize(List<Size> sizes原创 2016-01-10 15:19:48 · 4877 阅读 · 3 评论 -
DrawerLayout + NavigationView 侧滑菜单,ViewPager + Fragment 快速构建主界面
安卓的 Material Design 添加了不少的新控件,可以帮助我们快速开发。比如侧滑菜单、浮动按钮、导航条(不是以前蛋疼的ActionBar)、菜单条,还自带了不少特效,当然只要从API 17以上才有效果。有的是19,有的是21。所以,如果要做兼容的话,也是比较蛋疼的。但好在目前的趋势是,4.4一下的手机也是越来越少了,最好都是5.0的就好了。以前的各种开源大神写的依赖库,虽然很好用,但是没用原创 2016-06-06 01:08:25 · 4589 阅读 · 0 评论 -
ListView和ScrollView的下拉和上拉的回弹效果
Android中是没有下拉和上拉的回弹效果的,但是有滚动到顶部和底部的光影效果,由EdgeEffect类来操作的。但是我们发现QQ,微信,支付宝等在下拉和上拉的都有一定的回弹效果,用户操作起来感觉蛮流畅的~源码链接:https://github.com/chuwuwang/ZhouTools效果最近仿照着写来一个ListView和ScrollView的相同效果,用起来也是蛮方便的,先看下效果。原理在原创 2016-11-13 23:29:05 · 5572 阅读 · 2 评论 -
ListView的下拉刷新和上拉加载
我们公司以前有道面试题,让开发人员当场写一个ListView的下拉刷新和上拉加载,时间2个小时左右,允许有微量Bug。自己想一想,也不知道能不能写的出来,所有今天有时间,参考了网上的一些资料,先写一个练手下。先看下效果图:实现原理ListView有一个addHeaderView()和addFooterView()方法,就是添加一个头布局和一个脚布局。主要通过这两个方法来实现。初始化的时候,添加头布原创 2016-12-11 21:17:36 · 647 阅读 · 0 评论 -
Android Dialog 弹出 居右、居左、居中
Dialog或者Avtivity以Dialog形式弹出后,一般弹出默认是居中的。但是,我们有时需要它从右边弹出,一直居右。或者从左边弹出,一直居左。修改纯Dialog的弹出位置:Dialog dialog = getDialog();Window window = dialog == null ? null : dialog.getWindow();if (dialog != null && w原创 2016-11-08 20:00:58 · 12106 阅读 · 0 评论 -
Android双屏驱动Service架构实现
做程序员苦逼的地方就在于,当公司决定做什么的时候,是不会跟你商量的,只会跟你说,xxx,这个可能需要你来实现一下。fuck,我还没有想好实现思路了。Android双屏显示,可能会和别的双屏机制不同,大多数情况下是一个android系统,分主副屏而已。我司的硬件是两个android系统,两个屏幕,内部通过一根usb直连(这根usb连接线很稳定,代工厂和我们讲的,坑~)。双屏运行两个独立的android原创 2016-10-23 21:17:00 · 3824 阅读 · 6 评论 -
仿钉钉联系人详情界面--Material Design的使用
最近无意中看到钉钉这个App,发现联系人详情这个界面的效果还是蛮好看的。正好最近在看Material Design,所以想看看可不可用Android系统原生的来实现这种效果。先看效果图:这是有一个推滑的特效的,在钉钉上有一个头像联动的效果,这个暂时没有实现,有点区别。主要特点: 1.名字大小的缩放 2.圆形头像的固定 3.背景的模糊效果 4.下面详情的推滑效果以上的效果都是用Material原创 2016-09-05 21:20:37 · 6118 阅读 · 3 评论 -
探究Android 关于Activity调用finish()方法后的内存释放情况
公司一直在做自己的硬件产品,但是运行内存只有512M,所有一旦后台的驻留应用过多,前台的应用就会很卡断。当然,原因有很多,我们产品的cpu有瓶颈,计算过慢,导致卡断。后台的常驻服务和应用过多,像QQ,微信,360,豌豆荚之类的。运行内存不足,内存管理机制就开始起作用,其中又涉及到swap分区等linux的相关知识…其实我们做应用层的,正常情况下,只需要关心自己的app是否会内容泄露,当设备内存不足时原创 2016-07-24 22:22:56 · 16334 阅读 · 1 评论 -
ListView去除默认的点击效果和分割线
Android ListView去除默认的分割线android:divider="@null"去除默认的黄色的点击效果android:listSelector="@android:color/transparent"原创 2016-07-22 15:48:44 · 2468 阅读 · 0 评论 -
小米商城关于apk的重新签名(证书链、keystore、应用签名)
关于apk的重新签名(证书链、keystore、应用签名)android中的签名文件和证书等等相关问题,有时真的很搞的。在小米的应用开发商店里,需要重新签名,前前后后花了一个多小时,才签名成功,所以就记录一下吧。通过密钥keystore找到签名证书1.我们把已经上架的应用(就是在各大应用市场,如豌豆荚、360)下载下来,改名为.zip或者.rar文件,解压。 2.打开,找到META-INF文件,其原创 2015-10-28 12:16:12 · 7299 阅读 · 2 评论 -
Retrofit 2.0使用详解,配合OkHttp、Gson,Android最强网络请求框架
Retrofit终于迎来了2.0版本,也修复了老版本的一些bug,这是修复日志,各位可以自己去看看,[https://github.com/square/retrofit/blob/master/CHANGELOG.md]。 注:【转载请注明出处啊】1.使用retrofit,需要下载一些jar包retrofit gitHub项目地址:[https://github.com/square/retro原创 2015-11-06 17:20:46 · 37927 阅读 · 8 评论 -
Android头像下拉缩放动效
头像下拉缩放动效头像下拉缩放这个在IOS中很常见,最近在Github上也看到了类似的效果,所以决定把它集成到我现在做的项目中去。 Github上的开源地址:https://github.com/Frank-Zhu/PullZoomView先上2张效果图 PullToZoomView的使用这个开源框架的使用主要用到的是PullToZoomListViewEx和PullToZoomScrollVie原创 2015-05-20 21:10:47 · 3459 阅读 · 0 评论 -
android圆角矩形有背景颜色
android 圆角矩形,渐变颜色,自定义首先,在drawable目录下写一个xml,名字随便起(只要符合规范),代码如下:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angl原创 2014-11-21 12:11:01 · 2935 阅读 · 0 评论 -
androi自定义自动换行的View(类似网页的标签Tag)
看来只有礼拜天才有时间写点博客啊,平时只能埋头苦干了。今天在公司加班,遇到一个需求,就是自动换行的TextView,有点像网页的tag标签,点击一下,就自动加上去了,不过这个是根据后台拿来的数据来显示多少个View,在网上找找,看见了许多,我自己也封装写一个吧,以便以后需要...开工package com.woyou.ui.component;import android.content.原创 2015-01-11 16:38:36 · 1561 阅读 · 0 评论 -
android的UI中经常出现的菊花圈(圆形的加载圈)
夜深也是无聊,翻看以前的老代码,发现那个我们经常用的菊花圈,原来是帧动画做的,有点意思。突然感觉帧动画做的东西效果不错啊,至少看起来听耐看的。开工上代码:先是布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro原创 2015-01-12 00:46:02 · 5345 阅读 · 0 评论 -
Android 屏幕适配,转化为dpi
Android 屏幕适配,转化为dpi在本次项目中,我负责不同手机视图的匹配问题,我选择的是xml匹配方式。首先美工切图,直接切一套720*1280的。(也可以是1080的) 转化公式:px = dp *(dpi/160) 即320*480的分辨率的 dpi=160 所以针对Android手机,我们需要分别计算4个不同的dimens.xml放在values-hdpi、values-mdpi、原创 2015-04-25 14:33:14 · 848 阅读 · 0 评论 -
android 5.0系统 EditText控件
android 5.0系统对底层的控件也做了些修改,前几天发现EditText控件在android4.0系统上都是好好的,发现在5.0上EditText的默认字体颜色发生了改变,跟以前的不一样了。android:hint="给店铺留言,可输入口味,时间,包装..." android:textColor="#505050" android:text原创 2015-04-24 11:17:17 · 1411 阅读 · 0 评论 -
Android学习之笔记---WebView的使用
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);2.调用WebView的loadUrl()方法,设置WevView要显示的网页:互联网用:we原创 2014-07-20 21:35:11 · 738 阅读 · 0 评论 -
(黎活明老师讲学)Android学习(二)---从网络上获取网页
手机上网浏览网页,获取到网页的信息。原创 2014-07-17 22:28:52 · 716 阅读 · 0 评论 -
(黎活明老师讲学)Android学习(一)---从网络获取图片
从网络上下载一张图片,显示在手机上原创 2014-07-17 14:15:53 · 747 阅读 · 0 评论 -
ContentProvider共享数据的使用
当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。文件的操作模式,通过指定文件的操作模式为Context.MODE_WORLD_READABLE 或Context.MODE_WORLD_WRITEABLE同样可以对外共享数据,但数据的访问方式会因数据存储的方式而不同。采用xml文件对外共享数据,需要进行xml解析来读写数据;采用原创 2014-07-10 22:42:18 · 1460 阅读 · 0 评论 -
(黎活明老师讲学)Android学习(四)---视频播放器
在手机上播放一个视频文件,我们需要用到一个控件。原创 2014-07-27 13:20:45 · 776 阅读 · 0 评论