- 博客(41)
- 资源 (3)
- 收藏
- 关注
原创 图片定宽,不定高
Glide.with(context) .asBitmap() .load(url) .into(new SimpleTarget<Bitmap>() { @Override public void onRe...
2019-12-25 14:51:21
369
原创 Android 内部类
在Android开发里最常见有三种内部类分别是(成员内部类、方法内部类、匿名内部类)成员内部类成员内部类的特点:1.内部类就像一个实例成员一样存在于外部类中。2.内部类可以访问外部类的所有成员就想访问自己的成员一样没有限制。3.内部类中的this指的是内部类的实例对象本身,如果要用外部类的实例对象就可以用类名.this的方式获得。4.内部类对象中不能有静态成员,原因很简单,内部...
2019-11-20 19:54:20
581
原创 Recyclerview notifyItemChanged 刷新item闪烁
((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);这个方法仅影响itemchange,并不会影响列表添加的动画 /** * Sets whether this ItemAnimator supports animations of item c...
2019-11-13 15:19:53
513
原创 Rxjava 异常捕获
在application 中添加如下代码RxJavaPlugins.setErrorHandler(throwable -> { DLog.e(TAG,"throwable="+throwable.getMessage()); });Rxjava 中 捕获的异常都会在这里显示1.java.io.InterruptedIOExceptio...
2019-11-12 09:32:15
967
原创 应用压到后台,关闭应用某个权限后,应用无法正常使用
在 application中注册,可以统一管理activity 的生命周期这样可以用于判断应用是否前后台。应用压到后台,关闭应用某个权限后,再回到应用无法正常使用,解决办法是回到页面后关闭页面,让应用重启。默认isKilled = true。当应用正常启动时,置为false。class ActivityLifeCallback implements Application.A...
2019-11-08 09:40:17
2086
原创 Android 应用压到后台,点击应用图标,会再次启动应用
解决方法,在app的启动页面例如SplashActivity中添加if (!isTaskRoot()) { finish(); return;}manifest.xml 中添加 android:alwaysRetainTaskState="true"这个属性用来标记应用的task是否保持原来的状态,“true”表示总是保持,“false”表示不能够保证,默认为“...
2019-11-07 22:58:20
1426
原创 AS 网络请求抓包
1. AS 点击 View --》Tool Windows ---》 Profiler2. 点击 + 号, 选中你的手机,和要调试的app包名3.点击网络,点击有波峰的地方,在两边进行选择,出现如下的滑块,就会显示出里面的网络请求详情。4. 选中请求,可以在右边看到具体的详情...
2019-11-07 20:05:02
1093
原创 组件化-上传到maven仓库中
1.注册bintray.com账号进入https://bintray.com/,注册账号。注意!!!必须点红色区域,因为涉及到后面是否能上传到Jcenter2.创建组织(Create Organization)-填写必要内容即可点击后信息可以随意填,填写完后,会多出红色的部分。因为自己第一次随意填了数字12.3.添加新仓库(Add New Repository)...
2019-10-14 23:45:46
225
原创 PopupMenu 的使用
//显示更多菜单 private void showMoreMenu(View v) { PopupMenu popupMenu = new PopupMenu(getContext(), v); popupMenu.inflate(R.menu.menu_more); if (isBlackMenu) popu...
2019-10-09 20:00:48
496
1
原创 聊天页面键盘遮挡底部输入框
好记性不如烂笔头。1. 在AndroidManifest.xml 中添加属性 <activity android:name=".chat.ChatActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize|stateA...
2019-10-09 19:39:28
424
原创 关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等
1.Android 设备的CPU类型armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。 armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。 x86: 平板、模拟器用得比较多。 x86_6...
2019-09-23 21:58:13
3971
原创 子模块module添加so库
仅记录一下,在子模块module里需要添加so库,运行的时候报错,提示so库没有找到在子模块的build.gradle android下面添加sourceSets { main { jniLibs.srcDirs = ['libs'] }}快速查看lib中引用的so库...
2019-09-23 20:59:42
1313
原创 RecyclerView gridlayoutManager 多item布局间隔
package com.chad.baserecyclerviewadapterhelper.custom;import android.graphics.Rect;import android.support.v7.widget.GridLayoutManager;import android.support.v7.widget.RecyclerView;import andro...
2019-09-03 22:55:42
662
原创 RecyclerView GridLayoutManager 多种样式item
先上效果经常会有这样的布局,使用recyclerview ,gridlayoutManager 。这个页面采用了三种item布局,最开始运行后,页面中间会出现大量的空白部分,然后再接着下一个布局,当时觉得很奇怪。后来解决方案是,每个item的根布局的layout_height 由match_parent 改为wrap_content即可。大家可能更加感兴趣如何实现间隔,下一章会写...
2019-09-03 22:48:10
766
原创 Androidx是啥
AndroidX是Android Support Library的改进版,以后新的东西只会更新再AndroidX中,support库会逐渐被放弃。这可能是个好消息,不用再纠结用v4还是v7了,统统改为X。 如何在项目中使用Androix 1.确保你的AS在3.2版本或3.2之上; 2.compileSdkVersion 至...
2019-09-03 17:00:29
544
原创 androidx.annotation.Nullable,androidx.transition 找不到
主要是自己记录下,自己操作了以下几步才Ok1.需要在app build.gradle导入依赖(这步好像并不能解决问题,因为解决了这个,还会出现其他androidx的报错)dependencies { implementation 'androidx.annotation:annotation:+'}2.gradle.properties 中添加...
2019-08-23 22:34:06
2023
原创 Android项目接入React Native
这里主要是记录下自己在原有Android工程的情况下接入RN的一些经验。首先是感谢网上大牛的分享,我也是查阅了很多资料,阅读了很多的网站,才最终解决。当解决的那一刻,就暗自下决心要把自己走过的坑分享出来,让后面的少走弯路。 首先是电脑最基本的RN环境是搭建好的。你初始化一个Rn项目后,然后用AS引入Rn项目中android文件夹的工程可正常运行,如果这步还未完成,可以...
2019-08-20 20:14:54
801
转载 Mac 下Vscode 的快捷键
mac os下vscode快捷键全局Command + Shift + P / F1 显示命令面板Command + P 快速打开Command + Shift + N 打开新窗口Command + W 关闭窗口基本Command + X 剪切(未选中文本的情况下,剪切光标所在行)Command + C 复制(未选中文本的情况下,复制光标所在行)Option + Up 向上移动行...
2019-08-10 12:30:12
377
原创 自学前端开发计划
一直以来是客户端开发,但随着技术的更新,客户端需求越来越少,于是准备学习前端开发。以下是自己整理的一些要学习的计划。 一、HTML、CSS基础、JavaScript语法基础。学完基础后,可以仿照电商网站做首页的布局,(京东,小米,美团等)一定要坚持写出一两个来。前期可以挑一些简单的布局写,当熟悉一定程度后,就要进行一个复杂综合的开发。(列表加载 ,grid样式加载...
2019-08-10 11:03:38
909
原创 webstorm 创建项目上传至git,出现push reject情况
在webstorm 软件中terminal中输入以下命令行git pullgit pull origin mastergit pull origin master --allow-unrelated-histories
2019-08-01 14:23:22
1671
原创 记录Meta
<meta charset="utf-8"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"> <meta content="yes" name="apple-mobile-web-app-...
2019-07-31 13:49:03
85
原创 module 引入so库,aar文件
module 引入so库,需要在module 中 build.gradle android节点中添加sourceSets { main { jniLibs.srcDirs = ['libs'] }}module 引入aar文件,需要在module 中 build.gradle android节点中添加repositories { flat...
2019-01-15 17:04:29
770
原创 属性动画的移动
效果如上,因为担心在小屏幕手机上会因为文本太长导致UI放不下的问题,所以UI设计了如下的动画效果。 简单描述下UI,礼物图标,皇冠图标 两个礼物居中,当点击皇冠图标的时候,皇冠和文本框布局均向左移,同时文本框布局宽度慢慢变大。动画拆解开来,很简单,一个左移的动画,view 宽度变大的动画。在这个实现过程中,自己遇到以下几个问题,在此记录一下: 1.文本框布局放在何处
2017-11-29 22:06:29
470
原创 ListView 列表悬浮
项目中要实现Listview中的第一行向上滑动的过程中,随着向上滑动,用户永远可以看到第一行悬浮在屏幕上方。 实现这种效果,主要是监听listview 的滑动事件判断当第一行滑出屏幕后,如何显示第一行的问题。当第一行滑出屏幕后,用户看到的其实是另外一个布局,原来的listview的第一行,其实随着滚动,用户已经看不见了。
2017-11-29 21:13:29
524
原创 ActivityA 到 ActivityB 到 ActivityC 出现的问题
项目中有个情景 3 个activity ,A 到 B ,B 到 C ,C是一个theme为半透明的activity。然后,收到某个事件,B 页面 finish 掉,问题出现了,此时C页面不再透明,背景为黑色,无法看到A页面的情景。 期间想过其他办法,一种解决方法是C作为一个布局放入到B页面,B页面设置为半透明。这个方法是行的通,但是在有些页面上不适合,因为改动很大。不过,这次改动
2017-08-08 10:45:07
620
原创 记录一下,自定义控件
项目中,UI需要做一个语音播放的控件,但是这个控件有多种不同的设计,但是实现逻辑(下载,播放,暂停,进度条)都是一样的,后来想到自定义控件,根据不同的UI,写不同的xml布局就可以了。 结构如下: 1. 定义一个自定义类 SPDiscussAudioLayout extends LinearLayout , 里面实现播放逻辑,以及一些的UI的显示,隐藏
2016-12-09 09:53:55
323
原创 webview 调起微信支付
项目中,需要在App中使用webview通过访问url,最终调起微信支付。mWebView = (WebView) findViewById(R.id.wv_action); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setJavaScriptCanOpenWindowsAut
2016-09-20 17:45:33
10602
1
原创 Android抓包工具fiddler
Fiddler 下载地址:Fiddler.exeFiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。PC端配置1.配置Fiddler可以监听https请求打开fiddler,找到导航栏 tools ----> 点
2016-09-12 19:44:32
524
原创 动态填充LinearLayout ,LinearLayoutForListView
在开发的过程中,有时不愿意使用NOScrollListview,或者因为其影响性能问题替换NoScrollListview,如果是这样的话,分享的代码将对你说很有帮助,因为它就是利用Adaper的中getview 方法,将数据一条条添加到LinearLayout 中,对原有代码改动很小。public class LinearLayoutForListView extends LinearLay
2016-09-09 15:56:23
1336
原创 multipart/form-data
在使用okhttp3 进行文件上传的时候,我们会使用多种类型表单的格式进行上传,因为我们不仅要上传文件File,还会附带一些参数过去。下面就是okhttp上传的代码 try { //补全请求地址 String requestUrl = String.format("%s%s", HttpRequestBase.DEFAULT_HTTP_HOS
2016-09-06 17:06:37
1011
原创 改变textview字体的颜色
在xml里可以简单的通过设置 textview selector 就可以实现,但是在代码中实现则需要textView.setTextColor(getResources().getColorStateList(R.color.text_selector_color));来设置。tab切换时底部导航布局<LinearLayout android:id="@+id/rb_in
2016-09-01 10:21:31
316
原创 Duplicate files copied in APK META-INF/maven/com.squareup.okio/okio/pom.properties
packagingOptions { exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties' exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'}写在 build.gradle android 下面。原则是出现什么重复文件,就在里面添
2016-08-25 14:52:28
375
原创 ViewPager Fragment 禁止预加载数据
最近项目做优化,主页面用的是viewpager + Fragment 实现。发现每次启动应用后,就会有其他页面会发起接口请求,这点很不好。虽然说可以提前加载其他页面的数据,但是会在某一短时间内发起很多的请求,加大内存的消耗。同时,这样也不合使用习惯,页面还没有看见就发起了请求,加载了页面。 最后解决办法使用Fragment 的 setUserVisibleHint 的方法,解释如
2016-08-23 17:29:31
433
原创 android studio 中使用gradle命令行
如果是第一次运行这个命令,系统会帮我们下载gradle到本地。打包 gradle assemble
2016-06-28 17:58:58
361
原创 activity不停重启的原因,不停执行oncreate()等生命周期
1. manifest.xml 配置, android:screenOrientation="portrait" 可能会因为手机的横竖屏切换导致activity destroy,然后oncreate()。2.手机设置选项,开发者选项--->不保留活动 是否关闭3.检查代码
2016-06-27 16:13:54
1254
原创 Proguard 不要混淆内部类
调用webview的js代码,跳转不过去,不混淆代码可以运行,混淆后就不行。这肯定是方法被混淆了,那么如何做呢? # If your project uses WebView with JS, uncomment the following# and specify the fully qualified class name to the JavaScript interface# cl
2016-05-12 13:47:57
2359
原创 Android根据图片文件名获取它的资源ID 的两种方式
假如在drawable目录下放一个图片文件,由于一些原因,我们在程序中仅仅知道它的文件名,而不知道它的资源ID,当我们需要这个资源ID的时候,可以使用下面的一行代码获取到:方法一:Java代码 /** * 获取图片名称获取图片的资源id的方法 * @param imageName * @return */ p
2016-05-09 13:08:29
830
原创 电量优化之Battery Historian
电量的监测是一件很麻烦的事情,但是这件事在5.0以上手机将会轻松获得,下面就为大家介绍下google官方提供的工具,Battery Historizan。官方文档见下:http://developer.android.com/tools/performance/batterystats-battery-historian/index.html在官方文档中,为我们提供了2种方法,我们采用以下
2016-04-21 14:56:43
980
原创 DrawerLayout 模仿google官方左滑,menu内容延伸到通知栏
NavigationView extends ScrimInsetsFrameLayout 最近做项目,要模仿google官方应用,使用drawerLayout,达到如下效果 即,menu栏的顶部可以显示到通知栏中。 1. 使用NavigationVIew 作为menu ,并且需要在DrawerLayout ,NavigationView 设置 and
2016-04-18 20:46:59
1202
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人