Android开发常用知识点

本博文主要记录Android开发中常用但是并不是常能记住的一些知识点,本文长期更新 9.png的知识上方和左方黑线是控制拉伸范围的,左方和下方控制内容位置,当前可以不用设置左方和下方黑线,默认为上方和左方对应 判断字符串为null或者空字符串以前使用 if(str == null || str.str.isEmpty()) ```或者其他第三方工具类来判断字符串是否为空,但是Android自己早就封装了一个 ``` java TextUtils.isEmpty(str) 来判断字符串是否为null或空字符串。 计算文件大小android.text.format.Formatter类中formatFileSize(Context, long)方法,用来格式化文件Size(B → KB → MB → GB) 模拟按钮的点击view对象调用callOnClick(),performClick(),用于触发View的点击事件;performLongClick(),触发长按事件 显示密码针对TextView(EditText是TextView子类)显示密码,通过setTransformationMethod方法可以显示 text.setTransformationMethod(new TransformationMethod() { @Override public void onFocusChanged(…

AChartEngine使用笔记

前言因为公司项目需要画图表,所以接触了很多图表控件,最终因为各种原因使用了AChartEngine,虽然我个人并不想用这个控件(真心不好看),但是既然用了,还是记录一下使用中常用到的东西吧 源码地址AChartEngine在Google code上,所以你懂的 ==更改图表背景色== 用过AChartEngine的应该都知道,默认背景是黑色的,这对于Android来说是非常不友好的,所以需要我们手动去改变颜色 改变图表内容的背景 通过Renderer对象设置BackgroundColor,如: mRenderer.setBackgroundColor(Color.WHITE); 不过不同的图表有着不同的Renderer对象,所以很多时候有些Renderer对象可能并不支持特定图表才有的方法 改变图表外边的背景 同样是通过Renderer对象,调用2个方法,如: mRenderer.setApplyBackgroundColor(true); mRenderer.setMarginsColor(Color.WHITE); 设置X,Y轴标签颜色 mRenderer.setXLabelsColor(Color.BLACK); mRenderer.setYLabelsColor(0, Color.BLACK); 注: 设置Y轴的前面有个索引,用于多条Y轴的情况 自定义X轴标签…

Android ImageView宽度被压缩后自动压缩高度

在Android开发中,经常会遇到ImageView的大小和图片本身的大小不一样,不过本文并不是解决图片显示到ImageView缩放和解决OOM,而是解决当图片宽度被压缩后,图片的高度没有跟着压缩,而是图片本身有多高,ImageView就有多高的状态,上下会有空白,影响布局的状态 下面是问题截图 ![问题截图](http://image.raye.wang/device-2015-11-04-130911.png) 造成这种问题的原因很简单,因为ImageView的布局的高度是wrap_content,但是为了做瀑布流效果,所以不能固定ImageView的高度。解决办法也很简单,其实查查API文档就会发现有个属性是专门解决这个问题的(我当时百度了好久。。因为很少看API文档) 在xml布局中加入 android:adjustViewBounds="true" 加入后,运行效果如下: 另外本demo的git地址为 http://git.oschina.net/raywang2014/AndroidViewDemo 里面有我平时写的一些小demo,大家有兴趣可以去看看…

Android Studio Gradle 到处JavaDocJar提示编码GBK的字符无法映射解决办法

最近因为要把PreIOC放入jcenter中,百度找了很多方法,终于有点眉头了,但是却卡在了生成JavaDocJar,因为要放入jcenter中必须要上传生成的jar、sourcejar、和JavaDocJar,刚开始百度了很久,都是说下面2种方法 第一种:修改项目和IDE的编码格式:file->setting-file Encodings 第二种修改build.gradle,添加如下代码 tasks.withType(JavaCompile) { options.encoding = "UTF-8" options.compilerArgs << "-Xlint:unchecked" } 但是上面2种只能是编译的时候不出问题,到处JavaDocJar的时候还是一样报错(当然也有可能是我导出的方法有问题),后面没有办法,只能吧文件全部改为ASCII编码的,成功编译了。 后来也就是今天,因为PreIOC要更新新版本,由于文件修改为了ASCII编码的,中文全部乱码了,最后还是决定找一个解决办法,于是各种百度谷歌,最后,终于通过谷歌找到了。 配置文件如下 javadoc { options{ encoding "UTF-8" charSet…