日常总结
文章平均质量分 52
Chace P
这个作者很懒,什么都没留下…
展开
-
关于canvas.drawBitmap
最近在研究二维码的生成问题时,需要用到canvas.drawBitmap,这个方法有很多重载方法,写下本人的一些见解。1.drawBitmap(Bitmap bitmap, float left, float top, Paint paint)这是很常用的一个方法,参数理解很简单: bitmap:需要绘制的bitmap left:绘制区域与左边界距离 top:绘制区域与上边界距离 paint原创 2017-05-04 10:58:39 · 4572 阅读 · 0 评论 -
AndroidStudio创建library出现的一些问题
1.创建library库的时候,不能使用一系列注解,否则会提示 R文件的id不是常量(attribute value must be constant)2.在library中创建的所有资源(string,color。。。)等不能和主App程序中的重名,不然优先使用App中的资源原创 2017-06-11 23:16:40 · 617 阅读 · 0 评论 -
在AndroidStudio中使用gradle构建出现的一些问题
1.版本不一致导致运行出错在做公司项目跟进的时候,发现项目集成了很多moudle,这就导致最后编译出来的工程关于support.的一系列资源的版本不一致,因为有些support.会根据高版本的升级,例如我现在使用的是recyclerView23.4.0的依赖,其中需要使用support-v4的一些工具,可是某个moudle把v4定在的22.2.0,这就导致我使用过程中会 ClassNotFound原创 2017-06-11 23:35:54 · 727 阅读 · 0 评论 -
AlertDialog无法铺满
最近写dialog发现总是无法铺满,下面贴出解决代码Window window = selWifiDirDialog.getWindow(); WindowManager.LayoutParams layoutParams = window.getAttributes(); layoutParams.width = WindowManager.Layo原创 2017-06-11 22:34:41 · 590 阅读 · 0 评论 -
Android全屏方法和手动显示navigation
1.全屏 @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus) { if (Build.VERSION.SDK_INT >= Build.VERSION_CO原创 2017-07-04 17:58:06 · 773 阅读 · 0 评论 -
AS中使用自己编译的jar替换环境jar
由于在实际使用中android源码很多方法都被@hide起来了,无法使用,据说使用反射效率又很慢,于是在eclipse中就很盛行使用自己编译好的jar去替换源码中的jar,已达到能使用@hide方法的目的。现在就来谈谈如何在androidstudio中达到这一目的。 1.classes.jar是我自己编译后的jar文件,先将其放入libs文件夹,之后在app目录下的build.gradle中添加:原创 2017-07-14 14:31:02 · 683 阅读 · 0 评论 -
androidannotations注解配置
1.根目录build文件的classpath classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'2. app目录build apply plugin: 'android-apt' compile 'org.androidannotations:androidannotations-api:4.3.1'原创 2017-06-14 17:10:43 · 229 阅读 · 0 评论 -
关于Activity和Fragment的onStart
ON_CREATE, ON_START, ON_RESUME events in this class are dispatched after the LifecycleOwner's related method returns. ON_PAUSE, ON_STOP, ON_DESTROY events in this class are dispatched before the LifecycleOwner's related method is called.作者:TiouLims链接原创 2019-03-22 11:22:53 · 1722 阅读 · 0 评论 -
[解决]No toolchains found in the NDK toolchains folder for ABI with prefix
实际上是新版NDK只能适配到3.0以上的gradle,所以除了大动干戈修改gradle到3.0以上之外,只能下载老板的NDK,下载地址下载不了的点击这个备用: 地址PS:发现一个更快的,下载的文件大小就1KB,所以尝试了一下,直接添加toolchains\mips64el-linux-android-4.9\prebuilt\darwin-x86_64这个层级目录就行了...原创 2019-03-28 17:31:57 · 162 阅读 · 0 评论 -
关于equal和==
最近面试的时候总是遇到这个问题的笔试,以前学的时候没有深究,现在是时候来总结一下了1.基本类型和包装类诸如 new Integer(32)==32 new Integer(32).equal(32) ...此时==比较的就是具体的值,所以在此包装类和基本类型就没有区别,且各包装类和各基本类型可以互等,例:new Integer(32) == 32f;n原创 2017-05-05 11:27:32 · 1240 阅读 · 0 评论 -
初涉CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout
使用协调者布局(CoordinatorLayout),可以在recyclerView中添加头部,或者在ViewPager等复杂的页面中使滚动的部分与其他区域协调滚动,从而达到一起滚动的效果. 要做到这种效果以上三个空间是必须使用到的而且必须是包裹关系,即从外到内: CoordinatorLayout->你要使用的控件A和AppBarLayout->CollapsingToolbarLayout-原创 2016-10-27 18:14:59 · 213 阅读 · 0 评论 -
AndroidStudio修改PackName
做项目的时候,修改了一下packName,就只在AndroidManifest修改了 package的值,结果不行,在允许时获取到的getPackageName()还是原来的,网上搜了半天,一大堆废话,后来自己琢磨,发现在build文件中把applicationId 也修改成同一个就好了。原创 2016-11-09 12:31:58 · 1120 阅读 · 0 评论 -
View中的ScrollTo和ScrollBy
在让子控件滚动的时候需要用到这两个方法,在这之前我们需要获取到子控件在视图中的位置。 需要用到getX()/getY()和getRawX()/getRawX(),前者是获取在视图中的相对坐标,后者获取的是相对于屏幕左上角的坐标,在例子中我们使用前者. 其中mScrollX、mScrollY表示控件相对于父控件的偏移量,例:子控件在(100,100)位置,那么此时mScrollX和mScrollY原创 2016-10-28 16:07:34 · 362 阅读 · 0 评论 -
Gradle version 2.2 is required错误解决,还有gradle造成的各种错误
Android studio编译项目时出现如下错误:A problem occurred evaluating project ':app'.> Failed to apply plugin [id 'com.android.application'] > Gradle version 2.2 is required. Current version is 2.10. If using th原创 2016-10-25 15:56:39 · 12477 阅读 · 0 评论 -
Fresco与Shared Element Transition不兼容
关于这个问题,看了下github上面的评论 链接 之后发现需要使用fresco里面自带的动画来设置就可以了 getWindow().setSharedElementEnterTransition(DraweeTransition.createTransitionSet(ScalingUtils.ScaleType.CENTER_CROP, ScalingUtils.ScaleType.FIT_CE原创 2016-10-26 11:26:35 · 1106 阅读 · 0 评论 -
关于反射(一)
首先不得不承认Android是一种不安全的语言,因为不管你设置了什么私有类或者属性、方法我都可以通过近乎无赖的方法–反射获取到。 使用反射获取私有变量,大致分为以下几个步骤。1.获取Field在这之前,我们得先获取class对象,当然这很容易,任何类getClass()就可以了,之后我们可以通过(1).getDeclaredField(String)(获取所有field,包括私有的)(2)getF原创 2016-11-30 15:05:59 · 260 阅读 · 0 评论 -
让Drawable变色
做项目的时候有时需要根据点击图片切换不同的图片,这就需要美工切几张不同颜色的图,后来发现有办法可以使drawable变色,这样无形减少很多图片所占的空间,而且想要什么颜色都行。 1.需要android.support.v4 中的DrawableCompat类 2.生成所需要的Drawable,我封装成了个类,方便使用public class DrawableTintUtil {原创 2016-11-23 14:53:12 · 681 阅读 · 0 评论 -
关于Drawable设置到控件中不显示的问题
今天写项目时遇到个很变态的问题,就是关于ColorDrawable不显示.1.在此之前,我们需要先知道Drawable这个类,如果你是在代码中设置进去的话,必须要设置setBound(),就像这样://ResourceUtil.getDra是我的一个工具类.根据版本获取Drawable的Drawable drawble = ResourceUtil.getDra(getContext(),R.dr原创 2016-12-07 17:29:53 · 2933 阅读 · 0 评论 -
关于在在Fragment中Edittext中不显示输入法
最近在做项目的时候,发现在碎片中的Edittext无法显示输入法,试了各种修改清单文件windowSoftInputMode属性以及requestFocus获取焦点之类的问题,后来发现是自己的设置的问题getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);就是因为之前设置了不显示软键盘原创 2016-12-14 14:21:25 · 1609 阅读 · 0 评论 -
实现shape边框只显示一边(两种方式)
最近做项目需要做个圆形的drawable,当然要用到xml中的shape来实现,实现之后发现边缘化需要设置边框,这个边框又只需要显示在上边,其他地方不要,下图是实现的效果(加了个灰色的边在上边)思路大概是先创建一个灰色的drawable,之后用白色的drawable遮挡,再把白色的drawable下移1dp1.下面是xml实现过程:<?xml version="1.0" encoding="utf-原创 2016-12-19 17:54:02 · 10672 阅读 · 0 评论 -
关于service.setPackage和bindService一直返回false
今天在研究AIDL的时候,bindService服务端的service一直返回false,在网上查一直说的什么Context问题,发现跟自己的情况不一样,仔细研究了下,发现一个大坑。 启动service的时候getApplicationContext().startService(new Intent(getApplicationContext(),BookService.class));调试发现原创 2017-05-10 14:12:36 · 5762 阅读 · 0 评论 -
在AndroidStudio中添加butterknife插件
1.在整个工程的.gradle的dependencies中添加 classpath: classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’buildscript { dependencies { classpath 'com.neenbedankt.gradle.plugins:androi...原创 2016-10-25 11:13:38 · 2154 阅读 · 0 评论