- 博客(26)
- 资源 (5)
- 收藏
- 关注
原创 自定义控件抽取公共属性
项目布局的过程中对于相同控件共用的属性我们通常会抽取出来统一写到 style.xml 中,但是对于自定义的控件如何进行抽取呢?抽取方法:<style name="TextStyle"> <item name="android:layout_width">match_parent</item> <item name="android...
2020-01-08 11:05:46
365
原创 刘海屏启动页全屏适配
一般情况下为了启动app的时候没有白屏现象出现,我们都会在 style 中直接指定一个背景图片,并设置全屏显示,如下所示:<style name="LaunchTheme" parent="AppTheme"> <item name="android:windowFullscreen">true</item> <item name="...
2019-11-22 16:00:29
1675
原创 gradle 编译慢的问题记录
最近项目开发的过程中遇到 gradle 编译特别慢的情况,具体现象是:在 build.gradle 文件中做了改动后,点击 “Sync Now” ,就会等待很长时间,大概几分钟的样子。原因:在C盘 \.gradle 目录下有一个gradle.properties 文件,里面配置了代理systemProp.https.proxyPort=80systemProp.http.proxy...
2019-11-13 15:26:01
490
原创 适配框架 AndroidAutoSize 使用过程中的一点想法及与 tinker 冲突问题
使用中遇到的问题我们知道 AutoSize 是一个百分比适配框架,只能保证一个维度进行适配,而且这个维度是在我们初始化的时候就指定的。问题来了,假设我们的设计稿是1920x1080,并且我们指定以宽度方向进行适配。手机分辨率为1920x1080:可以完美适配。手机分辨率为1812x1080(举个栗子而已):宽度方向完美适配,高度方向会被压缩(竖直方向可以滚动的页面除外)。...
2019-10-11 16:10:04
872
原创 Kotlin编译警告问题:Incremental annotation processing requested
问题:项目编译的过程中出现warning警告,但是不影响项目正常运行[kapt] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: butterknife.compiler.ButterKnife...
2019-09-04 11:15:29
15440
2
原创 CheckStyle使用总结
最近在搞代码规范的问题,有了规范自然要有检查是否符合规范的措施,于是自然了解到了 checkstyle 。官网地址:https://checkstyle.org/ 插件使用 在AndroidStudio中直接搜索上面红框标注的插件并安装重启Studio即可。安装完后在设置页面可以对插件进行一些配置,如下: 插件使用比较简单,关键在于定义自己的check...
2018-12-20 16:08:04
4203
原创 拍照功能横竖屏切换问题
最近项目中要求针对拍照功能添加横竖屏切换,具体需求如下1.横竖屏加载不同的布局;2.只处理0度横屏和90度竖屏,180度横屏和270度竖屏不做处理;3.能通过系统的自动旋转开关控制横竖屏切换功能的开启关闭;起初打算利用的系统的横竖屏切换功能来实现,具体操作如下1.清单文件中配置 android:configChanges<activity andro...
2018-11-26 14:29:32
1791
原创 RecyclerView 瀑布流使用总结
目录 遇到的问题解决办法遇到的问题item乱跳,顶部留白,滑动卡顿 item设置间距解决办法问题1关键在于知道图片的原始宽高,然后根据图片的原始宽高比动态的设置item的高度。图片的原始宽高可以由后台返回,也可以自己获取,最方便的就是接口返回了。自己获取可以通过glide提供的API来实现,如下GlideApp.with(context) ...
2018-09-27 15:20:02
660
原创 Android 视频压缩
最近项目中用到了视频压缩的东西,由于之前没有涉及过,于是各种百度 谷歌,各种尝试,在此做个记录也希望能帮到一些需要的人,少走一些弯路。方案一:使用FFmpeg缺点:压缩效率低,时间长,使用繁琐,增大apk体积,直接废弃方案二:使用七牛SDK缺点:收费,只能试用,我测试的结果是隔天就会提示未经授权PLDroidShortVideo: Pili-System:unauthorized ! comp...
2018-05-30 17:57:42
6315
8
原创 Bugly 版本升级UI自定义之固定控件id
1.Beta.upgradeDialogLayoutId = R.layout.layout_upgrade_dialog;2.布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android...
2018-04-17 18:06:07
1120
原创 ScrollView中包含EditText,设置android:windowSoftInputMode="adjustPan"后无效
最近在做项目的时候遇到了如下问题:ScrollView中包含EditText,点击EditText输入内容的时候被键盘遮挡,而且ScrollView无法继续向上滑动到输入框位置。解决办法:在ScrollView的根节点处添加属性 android:fitsSystemWindows="true",这样ScrollView可以继续向上滑动了,但是键盘弹起的时候还是会遮挡输入框,需要用户手动向上滑动才能...
2018-03-16 15:58:39
1980
原创 android模拟器运行错误
在模拟器上跑项目的时候遇到无法安装运行apk的问题,如下INSTALL_FAILED-NO_MATCHING_ABIS:Failed to extract native libraries,res=-113这是因为项目中使用了原生库(NDK,Native Lib),这些库的编译目标通常是arm架构的cpu,在x86上运行就会报这样的错误,而AS自带的虚拟机默认是x86架构,所以可以重新创建一个ar...
2018-03-13 17:46:09
1023
原创 Android 自定义相机 Camera 图片方向问题
相机预览方向问题对于相机的预览方向我们可以通过如下API进行设置camera.setDisplayOrientation(0);但是,该API影响的是相机的预览方向,对于照片的保存方向并没有什么影响,最终照片保存的方向还是由Camera的图像Sensor决定的。照片保存方向问题第一种解决办法就是对拍照后的图片先进行旋转再进行保存,如下public static Bitmap rotateBitma...
2018-01-29 16:59:58
7143
1
原创 java.lang.RuntimeException: setParameters failed
最近在做一个相机开发的项目,过程中处理手动对焦的时候遇到了这样的bugjava.lang.RuntimeException: setParameters failed at android.hardware.Camera.native_setParameters(Native Method) at android.hardware.Camera.setParameters(Camera
2018-01-15 14:33:25
2892
原创 记一次使用高德地图遇到的bug
项目中集成了高德地图,之前测试都是好好的,突然出现地图不能用的情况,而且是三星手机可用,华为 小米手机存在问题。断点调试后发现 mMapView.getMap() 返回的 aMap 为null,跟进代码public AMap getMap() {IMapFragmentDelegate var1 = this.getMapFragmentDelegate();IAMap var
2017-12-19 16:59:15
2151
原创 基于ucrop实现图片裁剪需求
效果图重写ucrop布局,更改UCropActivity代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ucrop_photobox" android:layout_width="match_parent" and
2017-12-15 10:30:28
744
原创 APK瘦身优化,减小apk的大小
首先通过Android Studio自带的工具分析我们的apk这样我们就可以很清楚地看到我们的apk中最大一部分是谁,点击对应项就可以查看它的具体内容,如下图这里我们可以详细的看到apk中用到的所有的相关库,可以根据自己的实际情况进行删减,比如:我在压缩的时候发现引入的地图库比较大,确认之后发现只需用到定位功能,这时跟定位无关的东西就可以直接删掉了。
2017-11-15 11:21:16
404
原创 home键监听
public class BaseActivity extends Activity { private HomeWatcherReceiver mHomeWatcherReceiver = null; private boolean isNeedFinish = false; @Override protected void onCreate(Bundle s
2017-10-25 14:04:27
347
原创 七牛上传图片初探 开始上传 暂停上传 继续上传
效果代码public class MainActivity extends AppCompatActivity { ListView listview; AlbumList albumList; @Override protected void onCreate(Bundle savedInstanceState) { s
2017-10-13 17:30:17
1148
原创 ViewPager删除当前页面
核心代码private class MyAdapter extends PagerAdapter implements View.OnClickListener { ...... @Override public int getItemPosition(Object object) { return POSITION_NONE;//这是关键 } @Override pu
2017-10-12 18:13:02
1103
原创 Glide 4.x基本使用
第一步allprojects { repositories { mavenCentral() maven { url 'https://maven.google.com' } }}第二步dependencies { compile 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor...
2017-09-22 11:30:26
3157
原创 Error:Execution failed for task ':app:transformClassesWithDexForDebug'
问题描述:Error:Error converting bytecode to dex:Cause: java.lang.RuntimeException: Unexpected exception in dex writer threadError:Execution failed for task ':app:transformClassesWithDexForDebug'
2017-09-20 14:22:09
561
原创 在listview recycleview里显示高德地图
由于在listview、recycleview中显示地图非常的消耗内存,不推荐在这类view控件中通过地图SDK加载地图。如果一定需要在类似的view中显示地图,可以考虑采用静态图API来显示地图。可参考:静态图API http://lbs.amap.com/api/webservice/guide/api/staticmaps使用示例http://restapi.am
2017-09-13 15:38:46
1408
原创 列表多选配合取消和确定以及全选使用
效果代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rl_spinner_up" android:layout_width="match_parent" android:layout_height="50dp" an
2017-09-11 15:22:21
852
原创 列表多选效果
效果代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rl_spinner_up" android:layout_width="match_parent" android:layout_height="50dp" an
2017-09-11 14:39:13
321
原创 列表单选效果
效果代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id
2017-09-11 14:10:30
349
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人