擅长Android ,J2EE开发 博客园地址:http://www.cnblogs.com/androidsuperman/p/7834762.html github地址: https://github.com/soyoungboy
设置RadioButton的text属性,只需要有这个属性就可以(设置“”内容就行),然后再添加textsize属性,将字体大小属性值设置为比较小,我设置为2sp。运行后我们会发现图片变形问题不复存在。
师从郭大,自学于心,继承控件无疑就是继承自现有控件,保持继承的控件的属性并进行必要的扩展。 比如下面这个自定义控件,它就保持了TextView的属性,并对TextView的外观进行必要的修改该来适应自己的项目,主要实现的是一个圆形的TextView的功能。
自定义控件相关知识从郭霖等大神身上学习,这里只不过加上自己的理解和实践,绝非抄袭。 组合控件是自定义控件中最简单的方式,但是是入门自定义控件和进阶的过程: 那么常见的组合控件有那些? 比如titlebar和视图中常见的可重用界面布局的可用都可以通过组合控件的方式来进行自定义,并通过向其他类暴露方法和回调来实现对视图内容显示,隐藏,图片展示,动画活动,文字内容的控制。
很久以前写json解析用原始的解析json的方法,后来为了加快开发进度,开始使用gson,fastjson等第三方jar包来进行json解析,为了保持apk足够小,不因为引入jar包导致apk文件过大,选择使用gson来加速json解析,当然,去年androidstudio 1.0版本出来,很多人开始使用androidstudio,当然studio有很多方便开发的插件加速应用的开发,减少开发者的劳动力。
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 形象比喻: 我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专业,但MM可不懂这些,教了半天也不会。
模版设计模式的概念或者定义: 定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。 以前虽然经常在项目中使用模版设计模式,特别在BaseActivity,BaseFragement,BaseFragementActivity,BaseAdapter这种基类定义一些延伸到子类中实现的方法,但是不知道这个就是模版设计模式,我就毙了狗了。
今天在看布局文件的时候出现 android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V 提醒,google后在网上说是因为sdk版本的问题。
今天在看苏州通的代码,里面有个引导的代码,涉及到viewPager的切换动画: DepthPageTransformer : 1 package com.soyoungboy.guide; 2 import android.
STATE?跟MM交往时,一定要注意她的状态哦,在不同的状态时她的行为会有不同,比如你约她今天晚上去看电影,对你没兴趣的MM就会说“有事情啦”,对你不讨厌但还没喜欢上的MM就会说“好啊,不过可以带上我同事么?”,已经喜欢上你的MM就会说“几点钟?看完电影再去泡吧怎么样?”,当然你看电影过程中表现良好的话,也可以把MM的状态从不讨厌不喜欢变成喜欢哦。
公司项目涉及到git的使用,所以抽时间看了下git相关命令,其实也有不足和错误,后期实践过程中慢慢修改: git提交的注意点: 1,不同类别的修改 (如:Bug修复和功能添加) 要尽量分开提交,以方便以后从历史记录里查找特定的修改内容。
启动页面出现模糊的问题: 原因是 :android:theme="@style/TranslucentTheme" 1 7 11 12 13 14...
创建drawbler的布局文件初始化drawbler的列表 响应drawable列表点击事件 现在侧滑菜单使用很多,大都是通过SlidingMenu实现。现在也可以通过DrawerLayout 创建抽屉布局 frament_content.
标准动画: fragementTransaction.setTransition(FragmentTransation.TRANSIT_FRAGMENT_CLOSE); 自定义动画: fragementTransaction.
webview定义的两张方式: 1,是在xml文件里面进行定义; 2,实在代码里面定义: 3,在webview上显示内容必要的配置: 4常见的设置: 是否支持javascript 是否支持缩放,是否显示缩放工具 //支持javascript web.
JNI的技术特点: java能够调用native代码。 native代码能够调用java代码。 JNI的技术考虑: 实现java代码的平台无关型。 java语言发展初期使用C和C++代码,避免重复轮子的需要。
今天看了下微博,扔物线分享了个内存检测的工具: 内存泄露是 OOM 最常见的原因,但它的侦测需人工排查,往往眼看瞎也未必能找到泄露的内存。Square 新库 LeakCanary 用一种巧妙的思路实现了自动探测内存泄露,这已经帮他们减少了94%的 OOM。
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 (http://blog.csdn.net/lk_blog/article/details/7685169)Json转换利器Gson之实例二-Gson注解和GsonBuilder (http://blog.
前台进程 前台进程是用户当前正在使用的进程。只有一些前台进程可以在任何时候都存在。他们是最后一个被结束的,当内存低到根本连他们都不能运行的时候。一般来说, 在这种情况下,设备会进行内存调度,中止一些前台进程来保持对用户交互的响应。
一直再追郭霖的博客和imooc上的一些新的视频,最近有讲到属性动画。 以下内容为博客学习以及imooc上视频资料的学习笔记: 在3.0之前比较常见的动画为tween动画和frame动画: tween动画:就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变); frame动画:即顺序的播放事先做好的图像,与gif图片原理类似,也类似电影效果。
今天看到这篇文章:http://www.androiddesignpatterns.com/2012/05/using-newinstance-to-instantiate.html public class MyFragment extends Fragment { ...
微信支付现在主要集成在:1、移动应用开发 2、网站应用开发 3、公众账号开发 本篇主要针对移动应用App集成微信支付,实际项目坑点分享! 一、既予之、与共之:平台资源 1、微信开放平台:https://open.
Android微信支付 2014-08-09 一、使用微信官方的提供的demo里的appid等 1.微信接口上手指南:(从“移动应用开发”->“Android接入指南”)建议,先把官方这篇文章看完 2.
1,今年博客以算法和android底层的博客为主(以及读相关源码以及书籍记录)。 2,今年有必要写Material Design的开源项目(应该只发布一个这种项目,其他以控件为主,还有就是给博客原来将5.0的知识点的配上代码和截图)。
申请支付宝签约支付功能; 提供必要的材料和企业账户信息 签写核心信息: 支付宝SDKDemo: 签约管理 ----》 下载技术集成文档 ----》 zip包 Demo使用: 合作者ID从查看PID|key 支付宝收款帐号 生成的私钥 通过命令行生成私钥: 生成pem格式的私钥文件。
首先链表分三种: 单链表,双链表,循环单链表 写个例子说明列表的创建和遍历: public class LinkList { private Node head; private Node current; private void add(i...
BRIDGE?早上碰到MM,要说早上好,晚上碰到MM,要说晚上好;碰到MM穿了件新衣服,要说你的衣服好漂亮哦,碰到MM新做的发型,要说你的头发好漂亮哦。不要问我“早上碰到MM新做了个发型怎么说”这种问题,自己用BRIDGE组合一下不就行了 桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。
跟MM用QQ聊天,一定要说些深情的话语了,我搜集了好多肉麻的情话,需要时只要copy出来放到QQ里面就行了,这就是我的情话prototype了。(6块钱的麻辣烫,你要不要?) 原始模型模式:通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。
BUILDER?MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。
first:推荐看Terry的设计模式的blog,真的很精彩,通俗易懂。 second: 首先拿出当时我老师教我设计模式时给的资料里面的一段话: 比较形象的,通俗讲解设计模式的一段话: “ 在朋友聚会上碰到了一个美女Sarah,从香港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Sarah之间的Adapter,让我和Sarah可以相互交谈了(也不知道他会不会耍我) 适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。
错误原因是Dialog在show的时候必须要有一个activity作为窗口载体,上面的日志的意思是承载Dialog的activity已经被销毁了,不存在了 解决方法: 1.粗暴一点直接try catch 2.
首先,需要准备的工作: 1 用户协议(可以是本地html资源,也可以是通过webview调用远程url链接地址)。 2 签名文件(打包签名文件,可以是公司以前这个项目的签名文件)。
SVG ----scalable vector Graphics 可缩放矢量图形 android L 即android 5.0的新特性。 1,SVG是干什么的? 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。
这几天,项目中有个新需求,需要按照模块添加不同的快捷方式到桌面上,从而方便用户的使用。特意进行了研究并分析了下58上面桌面快捷方式的实现。 首先多个shortcut的实现: ...
android 5.1介绍: http://developer.android.com/about/versions/android-5.1.html?utm_campaign=lollipop-51-315&utm_source=dac&utm_medium=blog 5.
github地址:https://github.com/castorflex/SmoothProgressBar 多彩圆形进度条和多彩水平进度条 colors.xml 定义变化的颜色内容,用gplus_colors来进行标示 #3e802f #f4b400 ...
android:layout_height="25dp"这么设置根本就没有用. 我们必须要设置android:minHeight="25dp"这样才行.
郭霖最近整理的文章: 合理管理内存 分析编码过程中如何避免过多内存占用,以及如何实现高性能的内存使用。 尽可能使用intentService; 当界面不可见时释放内存; 当内存紧张时释放内存; 避免bitmap占用内存; 使用android api提供的数据集合; 减少抽象类的使用; 避免使用依赖注入; 使用proGuard简化代码; 使用多个进程。
在我们迭代项目的过程中,经常会启用某些功能,或者修改某些界面的问题,那么问题来了,这样很容易出现大量的冗余.java文件,冗余资源文件,一些冗余的界面文件等。那么问题既然出现了,那么如何去解决呢,这就是今天着重要去解决的问题? first: eclipse有个检查冗余java文件的插件,名叫UCDetector: 下载地址为:http://sourceforge.
studio项目地址:https://github.com/keithellis/MaterialWidget 修改后的eclipse项目地址: 修改后的eclipse项目 Demo地址: activity_main.
apk瘦身一般有两条线, 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能。其他无用的代码可以想办法去掉 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源 去除无用代码 当然是Proguard了! gradle plug 0.14.0, runProguard 更名为minifyEnabled 去除无用资源 Android Gradle plug从0.14.0开始,支持自动去除没有使用的资源。
需求 国内Android app发布一般会有多个渠道,为了跟踪发展情况,通常会为每一个渠道定制一个特别的apk。 一般友盟之类第三方统计的渠道ID定义如下,以wandoujia为例 如果不使用第三方统计,自己也可以在AndroidManifest.
这个视图原始框架地址:https://github.com/rengwuxian/MaterialEditText 指导手册:http://www.rengwuxian.com/post/materialedittext#content 接下来是我学习和总结的时候了: 1,没配置相关属性参数: 效果: 设置为不可用状态: enableBt.
@drawable/tab_indicator @style/CustomTabPageIndicator.Text 18sp @drawable/viewpager_title_textcolor ...
在style.xml中修改CustomTabPageIndicator的android:textColor属性即可: @drawable/tab_indicator @style/CustomTabPageIndicator.
首先Listview继承关系: ListView --extends--> AbsListview --extends--> AdapterView --extends--> ViewGroup --extends--> View ListView的构造方法:...
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。权限: ImageLoaderConfiguration是针对图片缓存的全局配置,主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置 ImageLoader是具体下载图片,缓存图片,显示图片的具体执行类,它有两个具体的方法displayImage(...)、loadImage(...),但是其实最终他们的实现都是displayImage(...)。
let somePoint = (1, 1) switch somePoint { case (0, 0): // 位于远点 println("(0, 0) is at the origin") case (_, 0): // x为任意值,y为0,即在 X 轴上 println("(\(somePoint.
IOS小工具以及精彩的博客 工具Log Guru是一个收集Log的小工具, 可以在 Mac 上查看 iOS 设备的实时系统日志. 现在可以直接高亮显示在 FIR.im 上安装 app 失败的原因。后续会增加各种进程过滤、高亮某进程、只看 Error level 等功能。
swif(1) println("Hello, world") 输出结果: Hello, world swift使用let来声明常量,使用var来声明变量 //变量 var myVariable = 42 myVariable = 50 //常量 let myConstant = 42 如果初始值...
一个设置 material design icon的插件工具 github地址:https://github.com/konifar/android-material-design-icon-generator-plugin 下载jar包: MaterialDesignIconGeneratorPlugin.jar 2.安装插件Preference > Plugins > Install plugin from disk... 3. 重启IntelliJ/Android Studio。