Android官方DataBinding(五):ObservableMap,ObservableArrayMap

Android官方DataBinding(五):ObservableMap,ObservableArrayMap写一个简单的例子说明ObservableMap,ObservableArrayMap用法。建立一个User.java的数据模型:package zhangphil.test; import android.databinding.BaseObservable; import andro...
阅读(11) 评论(0)

Android官方DataBinding(四):BindingAdapter

Android官方DataBinding(四):BindingAdapter简单初识BindingAdapter,写一个简单的例子,说明BindingAdapter的工作机制。简单期间,可以粗浅认为BindingAdapter实现了数据绑定中,对于某一个绑定值(被观察者)改变后,绑定一个方法,然后执行相应逻辑。(1)和附录1,2,3一样,毫无例外,先写一个数据模型User.java:package...
阅读(114) 评论(0)

Android官方DataBinding(三):RecyclerView 使用ViewDataBinding更新数据

Android官方DataBinding(三):RecyclerView 使用ViewDataBinding更新数据本例基于Android官方DataBinding,在RecyclerView上实现一个简单需求:点击一个button按钮,增加一个数据元素,并更新的view上。(1)首先写一个布局,这个布局上面放一个按钮button,下面一个标准Android RecyclerView。Button...
阅读(65) 评论(0)

Android官方DataBinding(二):动态数据更新notifyPropertyChanged

Android官方DataBinding(二):动态数据更新notifyPropertyChanged附录文章1使用了最简单的Android官方DataBinding技术,所以写的例子以简单明了能说明问题即可。但是附录文章1的数据不能更新,即如果当用户的数据User的内部变量发生变化时候,不能反映到View层,即TextView不能发生变化,如果是这样,代码是没有意义的,因为现实的开发场景,Use...
阅读(62) 评论(0)

Android官方DataBinding简例(一)

Android官方DataBinding简例(一)(1)使用谷歌Android官方DataBinding,需要首先在module的gradle里面启用:android { ... dataBinding { enabled = true } ... }配置完成后记得update gradle,刷新工程。(2)接下来要建立一个Java bean数...
阅读(68) 评论(0)

Android CoordinatorLayout与NestedScrollView基于Behavior几行代码实现底部View滑入滑出

Android CoordinatorLayout与NestedScrollView基于Behavior几行代码实现底部View滑入滑出在CoordinatorLayout的Behavior出现之前,如果实现底部的View的滑入滑出,需要写不少代码,且实现起来比较繁琐,现在通过CoordinatorLayout的Behavior,寥寥几行代码就能简洁优雅的实现。这种开发应用场景在一些新闻类、社交类...
阅读(72) 评论(0)

Android旋转动画rotate动画,xml配置set实现

Android旋转动画rotate动画,xml配置set实现作为快速备忘查询,写到这里记下。在xml配置动画所需的set设置资源,然后上层Java代码以最少的代码实现一个匀速旋转的动画,这种开发场景在一些加载动画中比较常见,比如视频缓冲时候的加载动画。先在res下面创建anim目录,然后再res/anim下面创建一个自命名的动画属性配置文件假如叫做rotate_anim.xml文件: <...
阅读(78) 评论(0)

Google I/O Android官方新体系架构之:Lifecycle

Google I/O 2017 Android官方新体系架构之:LifecycleGoogle官方在2017 I/O大会中引入一些列Android新的体系架构内容,其中有一个是Android的Lifecycle。Lifecycle实现的一个重要目的,是实现Android的与Activity和Fragment生命周期相关的逻辑控制进一步的解耦。简单的理解,以前因为要写于Android activit...
阅读(131) 评论(0)

Android基于Window.ID_ANDROID_CONTENT给定id添加子View

基于Window.ID_ANDROID_CONTENT给定id添加子View这一技术特点在一些视频播放器中比较有用。例如代码:package zhangphil.demo; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import andro...
阅读(105) 评论(0)

Android Studio project之module移除导致工具编译错误

Android Studio project之module移除导致工具编译错误问题现象:一般提示为 Gradle failed: xxxxxx already disposed 解决方案:第一步:Build -> Clean Project第二步:File -> Invalidate Caches / Restart...
阅读(104) 评论(0)

Android设备屏幕锁定/解锁/屏幕点亮监听

Android设备屏幕锁定/解锁/屏幕点亮监听Android屏幕锁定,解锁,开屏比较常用,故抽象成一个公共的DeviceScreenListener。在使用使用,首先new出一个DeviceScreenListener,然后注册(register)使用,使用后不要忘记注销,一般在生命周期的onDestory里面unregister。抽象的DeviceScreenListener:package z...
阅读(254) 评论(0)

Android把Bitmap保存为PNG图像文件的简单方法(同步)

public static void saveBitmapAsPng(Bitmap bmp,File f) { try { FileOutputStream out = new FileOutputStream(f); bmp.compress(Bitmap.CompressFormat.PNG, 100, out); ...
阅读(259) 评论(0)

Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)

Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)附录文章1以xml布局文件方式实现了一个view在横竖屏切换时候的大小尺寸缩放,实现这种需求,也可以使用自定义View的onMeasure方法实现。比如,写一个自定义的ScaleRelativeLayout相对布局: <RelativeLayout xmlns:android="http://...
阅读(370) 评论(0)

Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案

Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案在一些应用中,涉及到横竖屏切换,View要切换成不同大小比例尺寸。为解决这种开发场景,有多种解决方案,比如可以重写View,实现横竖切换在onMesure或者此类View的回调方法里面重新测量重新绘制View的尺寸大小。还有可以在onConfigurationChanged里面根据当前的横竖屏切换情况重写设置View的长宽比例...
阅读(317) 评论(0)

Android弹幕实现:基于B站弹幕开源系统(7)QQ、微信聊天气泡样式的弹幕

Android弹幕实现:基于B站弹幕开源系统(7)QQ、微信聊天气泡样式的弹幕在附录文章得基础上,改进普通文本弹幕,实现一种特殊效果的文本弹幕,像QQ、微信一样的带有气泡背景的弹幕。实现的重点是在SpannedCacheStuffer。同时要准备若干需要衬在文本弹幕背景部分的.9.png图片。上层Java代码:package zhangfei.danmaku; import android.co...
阅读(1116) 评论(1)

Android弹幕实现:基于B站弹幕开源系统(6)带用户头像且头像从网络加载

Android弹幕实现:基于B站弹幕开源系统(6)带用户头像且头像从网络加载在附录文章1,2,3,4,5基础上,实现一种特殊弹幕效果,实现弹幕带发表者头像。这种需求在一些开发场景中比较有用,比如在一些视频中,不同等级的用户显示不同的头像,或者本身发出来的弹幕就要求头像。代码:package zhangfei.danmaku; import android.content.res.Config...
阅读(924) 评论(1)

RxJava2 / RxAndroid2操作符interval:每隔若干时间发射信号

RxJava2 / RxAndroid2操作符interval:每隔若干时间发射信号Interval每隔一定时间发射一个整数,从0开始,例如:package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCo...
阅读(769) 评论(0)

RxJava2 / RxAndroid2操作符distinct与distinctUntilChanged去重结果异同

RxJava2 / RxAndroid2操作符distinct与distinctUntilChanged去重结果异同代码例如:package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActi...
阅读(363) 评论(0)

RxJava2 / RxAndroid2操作符ofType:根据类型选择输出结果

RxJava2 / RxAndroid2操作符ofType:根据类型选择输出结果例如:package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android...
阅读(399) 评论(0)

RxJava2 / RxAndroid2操作符distinct去重

RxJava2 / RxAndroid2操作符distinct去重distinct去除重复的数据,例如:package zhangphil.app; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; impor...
阅读(521) 评论(0)
454条 共23页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1024384次
    • 积分:14358
    • 等级:
    • 排名:第835名
    • 原创:440篇
    • 转载:13篇
    • 译文:1篇
    • 评论:169条
    博客专栏
    最新评论