直接上代码:注释都写的很清楚了. public class Entry implements Parcelable{ public int userID; public String username; public boolean isMale; public Book book;//序列化对象可以嵌套序列化对象,前提是2个类的对象都被序列号过 //几乎所有情况下都返回0,可以不管 @Override public int describeContents() { return 0; } //…
一.动画类型 Android的animation由四种类型组成:alpha.scale.translate.rotate XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 Java Code代码中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnim…
直接上代码:注释都写的很清楚了. public class Entry implements Parcelable{ public int userID; public String username; public boolean isMale; public Book book;//序列化对象可以嵌套序列化对象,前提是2个类的对象都被序列号过 //几乎所有情况下都返回0,可以不管 @Override public int describeContents() { return 0; } //…
一.开篇 因为 Android 字体相关的内容还比较多的.有时候其实我们只需要调整一下属性就可以满足设计师的需求,或者是一个退后的方案(毕竟有发版的时间卡住了),有一些效果可以大概满足需求. 那么本文就先介绍一下再 Android 下原生内置的一些字体的一些基本概念和使用. 需要注意的是,内置的一些字体只对英文有效. 二.Android 的默认字体 Android 系统默认使用的是一款叫做 Robote 的字体.Robote 本身就是 Google 自己的字体格式,Android 和 Chrom…
用SpannableString打造绚丽多彩的文本显示效果 引语 TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通的文本,OK,很简单,Android入门的都会,没入门的在门缝外看两眼也都会,哈哈,开玩笑.那要是设计在开发需求中要求类似微信聊天表情一样在TextView中插入表情图片呢? 有的小伙伴就会说啦,“TextView添加图片我会啊,不就是drawableLeft,drawableRight嘛!” 嗯 ~ 也行,算是一种方法,可这有一个限制,首先,图片…
作者地址http://www.jianshu.com/u/63915ef020e2 针对Android Tv的自定义RecyclerView 作者 wenju_song 关注 2016.12.09 19:52* 字数 814 阅读 1368评论 17喜欢 22 前言:Android TV Launcher页在RecyclerView出来之前大家用GridView去实现.TV开发有五向键的监听,遥控器hover监听,点击事件等.用GridView去处理焦点是有一定挑战性的,往往会出现不可预料焦点错…
package com.android.ryane.pulltoloaddata_recyclerview; import android.os.Handler;import android.os.Looper;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.supp…
首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和false Android:stackFromBottom="true" 第二是transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内.通过设置的控件transcriptMode属性可以将android平台的控件(支持ScrollBar)自动滑动到最底部.android:transcri…
Environment.getExternalStorageDirectory()是Android 2.x时代的产物,那时Android主流设备只有很小的内置存储器,然后都会外置一张sd卡,那时这个方法返回的就是外置sd卡的根路径. 但随着Android进入4.x时代,大部分Android设备都已经内置一个较大存储卡,甚至不提供外置存储卡插槽了,此时Environment.getExternalStorageDirectory()返回的路径其实是由内置存储卡虚拟出来的一个目录,用户在这一目录下有…
Controller控制器 import android.app.Dialog; import android.app.ProgressDialog; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.EditText; import android.widget.TextView; import an…
前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有Java层的,也有jni层深入到Framework.Canvas有许多的知识内容,构建了一个武器库一般,所谓十八般武艺是也,Paint是Canvas的一个重要的合作伙伴,但今天要讲的不是Canvas也不是Paint,而是与Paint相关的知识点Shader. 什么是Shader? Shader在英语辞典中被解释为着色器.查阅维基百科,有以下结论: In the field of computer graph…
LinearGradient 线性渐变渲染器 LinearGradient中文翻译过来就是线性渐变的意思.线性渐变通俗来讲就是给起点设置一个颜色值如#faf84d,终点设置一个颜色值如#CC423C,然后在一个区域内绘图,这个图像的颜色将呈现非常美妙的效果,颜色会从起点颜色到终点颜色过渡.给一张图,大家直观感受一下  我们看LinearGradient的API,发现它只有两个构造方法,非常简单. LinearGradient (float x0, float y0, float x1, floa…
1.布局优化 首先删除布局中无用的控件和层级,其次有选择地使用性能较低的viewgroup,比如布局中既可以使用RelativeLayout和LinearLayout,那我们就采用LinearLayout,因为RelativeLayout的功能比较复杂,它的布局需要花费 更多的CPU时间. 布局优化的另一个手段就是采用<include>,<merge>,<viewstub>标签.<include>主要用于布局重用,<include>,<me…
上篇介绍了跨进程实时通讯http://www.cnblogs.com/xiaoxiaing/p/5818161.html 但是他有个缺点就是服务端无法推送消息给客户端,今天这篇文章主要说的就是服务器推送数据给客户端 原理:客户端注册回调函数,并把回调的对象当做参数传递给服务端,这种服务端调用函数其实就是回调客户端的函数,废话不多说,直接看代码! 首先是服务端的AIDL文件 IAidlHguConnCallback.aidl文件 package tel.gateway.connservice; i…
不需要AIDL也不需要复杂的ContentProvider,也不需要SharedPreferences或者共享存储文件! 只需要简单易懂的Messenger,它也称为信使,通过它可以在不同进程中传递message对象,在message中放入我们需要传递的数据你就可以实现跨进程通讯和传递数据.废话不多说,直接上代码. 首先是服务端: public class Ser extends Service{ @Override public IBinder onBind(Intent intent) {…
转载自刘明渊 的博客地址:http://blog.csdn.net/vanpersie_9987 Fragment 是 Android API 中的一个类,它代表Activity中的一部分界面:您可以在一个 Activity 界面中使用多个 Fragment,或者在多个 Activity 中重用某一个 Fragment. 本文将介绍 Fragment 的 定义.创建.添加.移除.生命周期 等,如需访问官方原文,您可以点击这个链接(大多数情况下你得借助某些工具才可以访问): https://dev…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化.如果你将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment.一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity.…
通过这张图,我们可以知道一个MediaPlayer对象有以下的状态: 1)当一个MediaPlayer对象被刚刚用new操作符创建或是调用了reset()方法后,它就处于Idle状态.当调用了release()方法后,它就处于End状态.这两种状态之间是MediaPlayer对象的生命周期. 1.1) 在一个新构建的MediaPlayer对象和一个调用了reset()方法的MediaPlayer对象之间有一个微小的但是十分重要的差别.在处于Idle状态时,调用getCurrentPosition…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好.虽说这种方式看上去不打搅用户,但是却存在着一个问题,因为Android系统会在安装界面当中把程序所声明的权限展示给用户看,用户来评估一下这些权限然后决定是否要安装该程序,但如果使用了静默安装的方式,也就没…
Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次.所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义. Android.mk文件语法允许我们将Source打包成一个"modules". modules可以是:静态库动态库. 只有动态库可以被 install/copy到应用程序包(APK).…
原文地址 http://fanjiajia.cn/2018/09/25/Android%20Studio%20Could%20not%20resolve%20com.android.support.constraint:constraint-layout:1.1.3./ 解决方法 打开Android Studio的设置,在Appearance & Behavior -> System Setting -> Android SDK下查看SDK Tools,这里注意勾选右下角的show p…
package com.hhzt.iptv.adservice; import android.app.Activity;import android.graphics.Bitmap;import android.os.Build;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.ViewGroup;import android.webkit.Cons…
在Android清单配置文件里面 自定义application时,在4.4系统上面不能加上一个属性,见下图 否则界面将不会显示任何数据,在更高或者更低的系统上面没有测试!…
private static String MulticastHost="224.9.9.98";private static int POST=19999;private static int unicast_POST=19998; private static String TwoMulticastHost="239.9.9.98"; private boolean isStopThread = true; /** * 接收单播 */public void re…
先看效果图 package com.hhzt.iptv.lvb_w8.view; import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PixelFormat;import android.graphics.PorterDuff;import android.o…
先运行apk 再输入logcat | grep START 查看当前启动apk的包名和类名 adb shell "pm list packages -f | grep com.yulong.android.launcher3" adb shell "pm list packages -f | grep com."显示包名的apk名称…
首先是主布局fragment里面的xml文件 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/a…
不要存放大的key和value!我就不重复三遍了,会引起界面卡.频繁GC.占用内存等等,好自为之! 毫不相关的配置项就不要丢在一起了!文件越大读取越慢,不知不觉就被猪队友给坑了:蓝后,放进defalut的那个简直就是愚蠢行为! 读取频繁的key和不易变动的key尽量不要放在一起,影响速度.(如果整个文件很小,那么忽略吧,为了这点性能添加维护成本得不偿失) 不要乱edit和apply,尽量批量修改一次提交! 尽量不要存放JSON和HTML,这种场景请直接使用json! 不要指望用这货进行跨进程通信…
前提摘要:  可以给电影加字幕,目前支持srt和ass格式, 功能摘要:  支持微调字幕,设置大小,颜色,位置 1 .字幕解析类 package com.hhzt.iptv.lvb_x.utils; import android.os.Handler;import android.util.Log; import com.hhzt.iptv.lvb_x.Constant;import com.hhzt.iptv.lvb_x.log.LogUtil;import com.hhzt.iptv.lvb…
下面这Demo链接:Android实现全屏播放,各种格式支持直播,点播,不收费!…