RecycleView 嵌套滚动fling问题 RecycleView 嵌套滚动fling问题问题首先,如果嵌套 RecyecleView 的 ViewGroup 实现了 NestedScrollingParent 接口,那么滚动和Fling肯定是没问题的。比如:<android.support.v4.widget.NestedScrollView> <android.support.v7.widget.Recycl...
BottomNavigationView 禁用动画 1.禁用item>=3时的平移及缩放@SuppressLint("RestrictedApi")public static void disableShiftingMode(BottomNavigationView view) { try { BottomNavigationMenuView mMenuView = (BottomNavigationMenu...
Android ColorStateList 与StateListDrawable 继承关系ColorStateList.|--Object ├─ColorStateListStateListDrawable.|--Object| ├─Drawable| ├─ColorDrawable| ├─**StateListDrawable**用法ColorStateList多状态颜色的Colo...
adb shell 复制/移动文件时的转义字符 问题来源有时候,我们调用Shell命令来完成一些操作会方便点。比如复制文件调用cp 'src' 'dest'命令。但是如果源路径或者目标路径中包含一些Linux Shell 中的一些特殊字符时,可能命令执行的结果并不是我们想要的。此时我们就需要对这些命令进行转义。Shell中的文件操作# 复制文件cp 'src' 'dest'# 移动文件mv 'src' 'dest'# 创...
Android assets/ 与 res/raw/ Android Developer 中的介绍访问原始文件 尽管并不常见,但您的确有可能需要访问原始文件和目录。如果确有需要,则将您的文件保存在 res/ 中不起作用,因为从 res/读取资源的唯一方法是使用资源 ID。您可以改为将资源保存在 assets/ 目录中。保存在 assets/ 目录中的文件没有资源 ID,因此您无法通过 R 类或在 XML 资源中引用它们。您可以改为采用类似普...
Android 交叉编译 Linux 可执行文件 前言整理以前项目的时候发现以前做交叉编译,当时是交叉编译一个开源的c++项目到Android,直接使用NDK需要修改太多源码,本人对C也不是很熟悉,就研究了交叉编译。本人电脑是 Ubuntu16.04,测试手机Android 8.0 系统交叉编译工具链安装 gcc:sudo apt-get install arm-linux-gnueabi-gcc安装g++...
Android DataBinding 泛型 如何DataBinding使用泛型直接在xml里面写泛型会报如下错误:Error:与元素类型 "variable" 相关联的 "type" 属性值不能包含 '<' 字符。Error:Execution failed for task ':app:mergeDebugResources'.> Error: 与元素类型 "variable" 相关联的 "type" 属性值不...
Android Lifecycles 生命周期感知 前言为什么要让组件感知生命周期?Android中大多数应用程序组件都附带有生命周期。 生命周期由操作系统或你使用的框架管理。 生命周期是Android核心而基础的东西,如果不按照生命周期写代码,可能会触发内存泄漏甚至是应用程序崩溃。而在Api26.1.0之前,自定义UI控件或其他的组件的生命周期都是由我们手动管理的。如果我们让这些组件和Activity/Fragment 一样具有生命周...
This may cause NPE so Data Binding will safely unbox it. 编译警告:使用DataBinding 时,如果你在xml中使用了基本数据类型,可能会出现如下编译警告:This may cause NPE so Data Binding will safely unbox it. You can change the expression and explicitly wr ready with safeUnbox() to prevent the war...
Android MVVM 1、MVVM 模式简介MVVM 软件设计模式由微软在2005年提出,下图及介绍总结自微软The MVVM Pattern和Implementing the MVVM Pattern。上面两篇文章中和微软自家产品关联性很强,并很适用于Android,这里仅仅是介绍MVVM模式的概念及MVVM模式中各模块所承担的职责。View 就像在MVC和MVP模式中一样,视图是用户在屏幕上看到的结...
Android 线程池 适用于Android的线程池工具类/** * @author yawei */public class AppExecutors { private static final String TAG = "AppExecutors"; /**磁盘IO线程池**/ private final ExecutorService diskIO; /**...
Ubuntu16.04 安装 Tomcat8 介绍Apache Tomcat是用于为Java应用程序提供服务的Web服务器和Servlet容器。 Tomcat是Apache Software Foundation发布的Java Servlet和JavaServer Pages技术的开源实现。 本教程将介绍Ubuntu 16.04服务器上最新版本的Tomcat 8的基本安装和配置。准备在开始使用本指南之前,您应该为您的服务器设置...
Dart 中的 const final static static类似java中的staitc,表示一个成员属于类而不是对象final类似java中的final,必须初始化,初始化后值不可变,编译时不能确定值。const编译时可确定,并且不能被修改参考https://news.dartlang.org/2012/06/const-static-final-oh-my.html...
adb shell 选择指定设备 的脚本 问题:电脑连接两台以上的android 设备时adb shell会返回more than one device解决方法:Step1.获取设备列表adb device返回:List of devices attached87381d28093700000000 deviceyasudyasadasdasdasda devic...
Sqlite 多表查询 联表查询 table_a 和 table_b:已知: 1.table_a和table_b中有个'time'字段对应。 2.table_a中的一条记录table_b中可能有0~n条记录与之对应。查询: table_a中的所有记录,每条记录对应的table_b中的记录数量table_a: id name time 1 name1 ...
SQLite3 修改字段属性 改变表名 : ALTER TABLE '旧表名' RENAME TO '新表名' 删除表DROP TABLE '表名'增加一列 : ALTER TABLE '表名'ADD COLUMN '列名' '数据类型' 修改列(SQLite不支持) ALTER TABLE '表名' ALTER COLUMN '列名' ...插入数据INSERT I...
Android Toast 中的传参限制 Android Toast 的duration(int)传参只能是Taost.LENGTH_SHORT和Taost.LENGTH_LONG,这个是怎么实现的呢?查看源码 public static final int LENGTH_SHORT = 0; public static final int LENGTH_LONG = 1; @IntDef({LENGT...
Android 事件分发(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent) Android 事件分发。dispatchTouchEvent 事件分发,返回true,事件结束; onInterceptTouchEvent 事件拦截,返回true,不向下分发(包括自己的onTouchEvent); onTouchEvent 事件处理,返回true,不向上传递;
解决 maven { url 'https://maven.google.com' } 国内用不了 国内好像不能访问https://maven.google.com,导致Android Studio一值在编译. 在google cn 上偶然发现例一个替代网址 ‘https://dl.google.com/dl/android/maven2/’ . 使用这个就可以了。 也就是把maven { url ‘https://maven.google.com’ }替换成注释的就可以了。