- 博客(43)
- 收藏
- 关注
原创 ScrollView嵌套RecyclerView的时候,内容没有撑满
可以给RecyclerView添加属性:android:fillViewport="true"的内容不足以填满整个屏幕时起作用,如果内容已经填满了整个屏幕,则该属性不会有任何作用。中填充视图的高度,以便在内容不足以填满屏幕时也能填充整个屏幕。会将其内容拉伸至填满整个屏幕,使得用户在浏览内容时不会出现界面空白的情况。不会填充整个屏幕,而是只显示其内容所占的部分。而当设置了该属性后,中的内容小于屏幕高度时,如果不设置该属性,是一个布局属性,它用于在。
2024-11-07 10:32:17
434
原创 Android 切换语言不重启 manifest如何配置
避免Activity重启,manifest如何配置:android:configChanges="locale|layoutDirection|keyboard" //缺一不可如果仅仅是只有locale,并不会生效,需要都加上
2024-09-02 16:27:02
206
原创 dp和px的转化(dp2px,px2dp)
根据手机的分辨率从 dp 的单位 转成为 px(像素).* 根据手机的分辨率从 px(像素) 的单位 转成为 dp.
2024-06-05 11:13:08
201
原创 Glide设置圆角图片导致的闪烁
从Glide源码中可以看到调用maybeUpdateAnimatable,执行这个动画可能是导致闪烁的原因,所以直接重写onResourceReady,不执行动画,避免闪烁。第一:直接将skipMemoryCache设置为false,但是可能会导致再此更新图片的时候不跟新,直接从缓存中获取。给网络图片设置圆角会导致闪烁。
2024-05-16 20:39:26
348
原创 应用启动的时间
Android Studio可以通过日志的方式查看应用冷启动和热启动的时间。这是一个热启动,很明显时间就短得多,因为少了很多资源的初始化。这里是一个冷启动时间。
2024-03-06 20:56:26
489
原创 Android点击事件节流工具
@return 使用lambda和闭包构造的匿名节流阀对象。* @param delay 流速控制时间,单位毫秒。Log.e(TAG, "真正执行方法");* @param callback 回调函数。
2024-01-03 19:51:26
458
原创 git本地创建分支并推送到远程服务器
1,本地创建分支git checkout -b new_branch2, 将本地分支推送到服务器git push -u origin new_branch
2021-05-11 14:44:42
371
原创 Cannot find module ‘uni-read-pages‘
uniapp 首次安装报了Cannot find module ‘uni-read-pages’可以开启cmd 执行npm install 解决
2021-04-21 15:48:44
4612
原创 HbuilderX操作的快捷键
1. ctrl+/ 注释代码2. ctrl+y 恢复撤销3. ctrl+x 剪切4. ctrl+z 撤销5. ctrl+c 复制6. ctrl+p 在当前项目查找文件7. ctrl+f 在当前文件查找字符串8. ctrl+alt+f 在当前目录查找字符串9. ctrl+k 格式化代码10. ctrl+g 跳转到某行代码11. ctrl+o 打开文件12. ctrl+alt+s 保存所有文件13. 鼠标左键+ctrl选中多行(可进行多行修改操作)...
2021-02-05 14:20:39
1401
原创 Rxjava实现倒计时
Disposable mdDisposable = Flowable.intervalRange(0, 11, 0, 1, TimeUnit.SECONDS) .observeOn(AndroidSchedulers.mainThread()) .doOnNext(new Consumer<Long>() { @Override public void accept(Long aLong) throws Excep.
2021-01-13 16:08:58
297
原创 合并分支
合并dev 分支到master,步骤:1,dev和master 先同步到最新,git pull2, 切换到master分支,然后git merge dev3, 然后修改冲突后,git add .4, 再git commit -m “合并分支”5,git push
2021-01-08 09:59:43
126
原创 通过Glide获取url图片的宽高
Glide.with(mContext).asBitmap().load(list.get(0).imagePath).into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap bitmap, Transition<? super B...
2020-04-27 15:36:26
1281
原创 计时器
第一种自动一个TimeCountpublic class TimeCount extends CountDownTimer { private Button button; //参数依次为总时长,和计时的时间间隔 public TimeCount(Button button, long millisInFuture, long countDownInterval) {...
2020-04-23 15:59:08
130
原创 AndroidStudio3.5修改字体大小
平时不注意忘记了字体修改在哪里,网上百度发现都是老版AndroidStudio的修改方法特地记录下。
2019-11-06 13:42:12
1270
原创 撤销git commit
在git push的时候,有时候我们会想办法撤销git commit的内容 1、找到之前提交的git commit的id git log 找到想要撤销的id 2、git reset –hard id 完成撤销,同时将代码恢复到前一commit_id 对应的版本 3、git reset id 完成Commit命令的撤销,但是不对代码修...
2018-07-13 09:46:08
362
原创 byte2file
public void get() { //找到文件的路径 /data/data/包名/databases/数据库名称 File dbFile = new File(voiceMessageBody.getLocalUrl()); FileInputStream fis = null; FileOutputStream fos = null; try {
2018-01-02 16:11:58
512
原创 Android为啥会有65536的限制
全局搜索 ; max is ,发现 MemberIdsSection#getTooManyMembersMessage 使用了:那 MAX_MEMBER_IDX 的值是多少?就是0xFFFF,为啥是0xFFFF呢?因为invoke-kind (调用各类方法)指令中,方法引用索引数是 16 位的,也就是最多调用 2^16 = 65536 个方法,这就是 DexFormat 中 MAX_M
2017-12-18 11:02:38
310
原创 Android手机未root手机获取应用的sqlite数据库
//找到文件的路径 /data/data/包名/databases/数据库名称File dbFile = new File(Environment.getDataDirectory().getAbsolutePath() + "/data/" + getActivity().getPackageName() + "/databases/你自己的数据库名称.db");FileInputStre
2017-11-07 11:27:06
1178
原创 Android6.0权限
public class PermissionsUtils { public static boolean checkReadStoragePermission(Activity activity) { if (android.os.Build.VERSION.SDK_INT JELLY_BEAN) { return true; }
2017-06-29 14:15:31
281
原创 The SDK platform-tools version (24.0.4) is too old to check APIs compiled
如图安装
2017-05-09 14:56:49
461
原创 dp2px
public final class ViewUtils { private ViewUtils() { // This utility class is not publicly instantiable } public sta
2017-04-05 09:55:39
832
原创 屏幕高度工具类
public class ScreenUtils { private ScreenUtils() { // This utility class is not publicly instantiable } public static
2017-04-05 09:54:48
316
原创 网络工具类
public final class NetworkUtils { private NetworkUtils() { // This utility class is not publicly instantiable } public
2017-04-05 09:54:09
243
原创 键盘工具类
KeyboardUtilspublic final class KeyboardUtils { private KeyboardUtils() { // This utility class is not publicly instantiable } public static void hideSoftInput(Activity activity)
2017-04-05 09:53:27
269
原创 事件分发
首先要声明这里用来分析的对象是 MotionEvent,即点击事件。所谓点击事件的事件分发其实就是对 MotionEvent 事件的分发过程,即当一个 MotionEvent 产生了以后,系统需要把这个事件传递给一个具体的 View,而这个传递过程就是分发机制。了解了分发机制后就来了解另一个概念,同一个事件序列:从手指接触屏幕的那一刻起到手指离开屏幕的那一刻结束,在这个过程中所产生
2017-03-21 14:47:55
185
原创 软键盘的开启与关闭
/** * 隐藏软件输入(隐藏输入键盘) */private void hideSoftInput() { mSearchInput = (EditText) findViewById(R.id.contact_list_index_search_input); InputMethodManager imm = (InputMethodManager) getSystemSe
2017-03-21 14:26:20
969
原创 Http变成Https
public class SSLCertificateHandler { protected static final String TAG = "NukeSSLCerts"; /** * Enables https connections */ public static void nuke() { try {
2017-03-17 10:49:02
745
原创 Android混淆应注意的编码习惯
由于撸码的时候没注意细节直接将代码写死,如下:if (adapter != null && !adapter.getClass().getName().contains("DiskFileShareManagerAdapter") && adapter.isShowCheckBox()) { adapter.selectCheckBox(view, realPosition);
2017-03-16 16:21:15
393
原创 Gson解析json文件
##使用gson解析json文件**json的格式有两种:****1. {}类型,及数据用{}包含;****2. []类型,即数据用[]包含;** 下面用个例子,简单的介绍gson如何解析json,仅使用~ 先发两个json 内容 1、最外层是{} { "resp": "ok",
2017-03-06 16:18:14
1833
转载 深入理解Java:SimpleDateFormat安全的时间格式化
想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一
2017-03-06 15:23:07
255
原创 try、catch、finally语句注意问题
try、catch、finally语句块中需要注意的是一. 尽量在try或者catch中使用return语句。通过finally块中达到对try或者catch返回值修改是不可行的。二. finally块中避免使用return语句,因为finally块中如果使用return语句,会显示的消化掉try、catch块中的异常信息,屏蔽了错误的发生三. finally块中避免再次抛出异常,否则
2017-03-06 15:04:05
751
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人