Android
fenganit
这个作者很懒,什么都没留下…
展开
-
更改ToolBar的样式(侧边栏联动箭头颜色,字体大小和颜色)
更改ToolBar的样式(侧边栏联动箭头颜色,字体大小和颜色) true @android:color/white @color/white 18sp @color/white @color/white原创 2016-12-17 15:44:06 · 1961 阅读 · 0 评论 -
ThreadLocal的一些理解
什么是ThreadLocal更多文章查看个人博客 www.fengan.infoThreadLocal JDK1.2提供根据JDK文档中的解释:ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程...原创 2018-03-05 11:46:04 · 314 阅读 · 0 评论 -
HandlerThread的使用
HandlerThread官方介绍:Handy class for starting a new thread that has a looper. The looper can then be used to create handler classes. Note that start() must still be called.意思就是HandlerThread能够新建拥有Looper的线程原创 2017-11-08 09:32:01 · 253 阅读 · 0 评论 -
Android ApiDemo下载
Android ApiDemo下载地址 谷歌官方Android ApiDemo,可直接导入Android Studio,全部配置好,导入即可跑通安装! http://download.csdn.net/download/fenganit/10129911原创 2017-11-23 14:23:07 · 1001 阅读 · 0 评论 -
小米手机测试安装失败Installation failed with message:INSTALL_CANCELED_BY_USER
Installation failed with message:INSTALL_CANCELED_BY_USER(小米真机) 场景用Android studio用真机测试的时候,特别是用小米测试的时候,有时候,在手机已经安装本应用的的情况下,再此安装,有一定的几率安装不成功,如下提示 解决查了一些资料,如以下操作 但是不管用 最终解决 打开小米手机开发者选项中的usb安原创 2017-11-22 09:57:01 · 9194 阅读 · 2 评论 -
Android音频跳动的View
AudioColumnView闲来无事,看到网易云音乐还有很多播放软件播放音乐有个随音乐跳动的柱状view,就简单撸了下效果图如下:github地址github:音频跳动view使用很简单xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk原创 2017-10-25 15:47:01 · 4589 阅读 · 0 评论 -
随滑动改变的动态矩形背景
随滑动改变的动态矩形背景 前言可能看到这个标题有点懵逼,本屌的表达能力有限,最近工作比较清闲,朋友公司正在做到这个效果,所以就帮基友写了一个小Demo,总体来说就是以下效果. Demo下载 朋友公司需要达到的效果 Demo中的效果使用过程 layout <com.fengan.dynamicrectangledemo.DynamicRectangleView an原创 2017-10-11 16:00:11 · 378 阅读 · 0 评论 -
Android 阴影布局(继承FrameLayout)
阴影布局(继承FrameLayout)前言: 很多情况下,美腻的UI美眉喜欢搞一些花里胡哨阴影什么的,作为一名有追求的程序员迎合美眉的需求,搞一些小阴影并不是什么大问题,比如写一个自定义shape,用5.0的z轴新特性和CardView都可以满足的,但是有些效果不太符合预计设计的效果,像自定义shape作为背景,看起来阴影会有些假,用5.0新特性第一个是版本问题还一个是有时候不起作用,网上也有解决原创 2017-03-15 11:12:05 · 2934 阅读 · 0 评论 -
获取控件宽高
在onCreate中如何获得View宽高 经常我们需要在布局中动态的去改变某些View的宽高,并且是和其他View的宽高有联系的,所以我们要先获取另外一个view的宽高,来判断设置当前view的宽高,但是在onCreate() onResume()获取View的width方法中都没有办法获取到View的实际宽高(这种情况使用动态布局使用wrap_content或match_parent就会出现)原创 2017-10-30 16:12:28 · 331 阅读 · 0 评论 -
Gson封装
Gson封装package nfzr.zr.nf.nfzr.com.nongfaziran.nfzr.utils;/** * Created by fengan on 2017/7/6/006. */import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;原创 2017-08-21 11:19:27 · 382 阅读 · 0 评论 -
图片上传,部分机型角度不正确问题解决
图片上传,部分机型角度不正确问题解决前言现在app大多都有上传图片功能,比如上传图片,发表动态可能还会上传多张图片,那在我做图片上传的时候,出现了部分机型上传图片后,图片的角度是正确的,我的两个测试机小米和华为是没问题的,但是三星的上传后,图片是默认旋转了90°,那这里要讲的就是怎么解决这个问题,在此记录一下,以保证后面再出现类似需求要多考虑一些 解决问题直接进入正题当我们上传图片需要做的处理原创 2017-08-21 11:06:44 · 718 阅读 · 0 评论 -
Android保存图片到本地
Android保存图片到本地 需求一个很常见的需求,查看大图的同时,点击可以将图片保存到本地 我的步骤使用Gilde获取图片的DrawableDrawable转成Bitmapbigtmap压缩并通过流写入通知系统图库更新 代码块- 保存图片,流写入,压缩 public static void saveImageToGallery(Context context, Bitma原创 2017-08-21 10:54:20 · 1465 阅读 · 0 评论 -
布局文件输入'<''>'大于小于号等
需要转义 < < 小于号 > > 大于号 & & 和 ' ’ 单引号 " ” 双引号原创 2017-06-30 15:14:11 · 1810 阅读 · 0 评论 -
软键盘(挡住button,和点击外部软键盘消失)
软键盘(挡住button,和点击外部软键盘消失)以下是解决挡住button的逻辑 // 控制是否移动布局。比如只有密码输入框获取到焦点时才执行。public boolean flag = true;/** * @param act activiry用于获取底部导航栏高度。 * @param root 最外层布局,需要调整的布局 * @param原创 2017-06-15 09:48:27 · 827 阅读 · 0 评论 -
Android中弹窗中带有Edittext,软键盘遮挡问题
关于dialog遇到的问题 我们都知道弹窗dialog所需要传入的上下文必须是Activity对象,其实现在也有全局的dialog,但是需要权限 <!-- //全局dialog --><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>但是经测试在小米6.0上,这个权限是默认关闭的,当然6.原创 2017-06-30 14:51:23 · 2827 阅读 · 0 评论 -
获取标题栏高度(反射)
public static int getStatusBarHeight() { Class<?> c = null; Object obj = null; Field field = null; int x = 0, sbar = 0; try { c = Class.forName("com.andro原创 2017-03-25 16:18:55 · 365 阅读 · 0 评论 -
初窥DataBinding数据绑定框架,效率解决界面逻辑
时间:15年谷歌I/O大会介绍 作用:数据绑定框架给我们带了很大的方便省去每个Activity里很多的findViewById,省去麻烦并解耦ButterKnife这种快速的注解框架,但是和DataBinding相比还是不好用(官方文档介绍DataBinding还能提高解析XML的速度)环境搭建(AS1.5之后) - Android 的 Gradle 插件版本不低于 1.5.0-alp原创 2016-12-23 18:49:13 · 424 阅读 · 0 评论 -
(小知识点)ViewPager设置 缓存个数、页卡间距、数据更新
通过源码查看: View – dispatchTouchEvent方法中 可以看出: onTouchListener的接口的优先级是要高于onTouchEvent的,假若onTouchListener中的onTouch方法返回true, 表示此次事件已经被消费了,那onTouchEvent是接收不到消息的。 那么思考: 如果给一个Button设置一个onTouchListener并且重原创 2016-12-23 16:55:33 · 5912 阅读 · 0 评论 -
Android自定义View,上下滑动,渐变关闭当前页面
github原创 2018-06-01 16:45:37 · 1021 阅读 · 0 评论