- 博客(132)
- 资源 (1)
- 收藏
- 关注
原创 自定义RecyclerView的通用ItemDecoration
需求说明RecyclerView做网格布局时,设置RecyclerView的ItemDecoration,要求设置之后:每个item的宽度和高度一致 最左边的item左边无间隔 最右边的item右边无间隔分析过程1. 每个item左右应出比例的计算方式假定两个view之间需要的间距大小为space 如果是两个item,则 第一个item:右边出1/2*space的大...
2019-07-02 20:14:03 920
原创 使用bugly做应用升级时android 7.0上遇到的问题
bugly在android 7.0上是通过反射去使用FileProvider 的,需要注意它的混淆
2017-03-09 10:49:58 3948
原创 流量统计
Created with Raphaël 2.1.0开始我的操作确认?结束yesnoCreated with Raphaël 2.1.0开始检查设备是否重启重置系统统计列表当前时间是否和上次计算是同一天从数据库中加载:1、最后一次统计时每个应用的系统统计值的列表2、当天的每个应用的流量累计值3、当月每个app每天的流量使用情况4、最近7天每个app的流量使用情况yesnoyes
2016-12-19 17:58:34 421
转载 android 获取application和activity下meta-data中的值
meta-data在AndroidManifest中是以键值对的形式存在的,可以将meta-data放在application根节点下,也可以放在某个activity节点下。因为存放的位置不同,因此获取value时也要使用对应的方法,下面是我写的一个小测试。代码如下:先是在AndroidManifest中的application和mainActivity下添加两个meta-data
2016-11-11 14:15:46 531
原创 android studio中安装parcelable插件
去https://github.com/mcharmas/android-parcelable-intellij-plugin/releases/tag/v0.6.3下载android-parcelable-intellij-plugin.jar包然后安装https://github.com/mcharmas/android-parcelable-intellij-plugin中的步骤安装:
2016-05-05 18:00:07 789
原创 android开启手机wifi热点和连接到wifi热点
1、如何开启手机wifi热点:先获取到wifi的服务,在配置热点的名称,密码,然后通过反射来打开它就ok了。private boolean openWifi(boolean enabled) { // TODO Auto-generated method stub if (enabled) { // disable WiFi in any case // wifi和热点不能同
2016-04-28 14:39:45 2466
原创 从MediaStore获取制定文件夹下的视频信息
MediaStore是android提供的一个多媒体数据库,在系统重新启动的时候,会主动的去扫描全盘,将所有的音视频,图片文件的信息存储到这个数据库中。android对多有多媒体数据库接口进行了封装,我们可以通过ConentResolver去调用封装好的接口来进行数据库操作。案例一:获取“/storage/emulated/0/DCIM/Camera/”下“Vc”开头的文件下的所有视频的修
2016-04-12 14:39:12 7183
原创 带图标和箭头、文字的垂直居中
类似这种效果: 无标题文档 .p1{ height:18px; background-image:url(image/jiao.png); background-repeat:no-repeat; background-position:95% 50%; background-color:#FF0000; margin-right:10px;
2016-01-21 11:46:37 1402
原创 html预览手机本地图片
.file_div1{ width:33%; background-position:center; background-repeat:no-repeat; position:relative; float:left; margin-left:0.3% } .file_img{ width:100%;height:100%; } input{ w
2016-01-19 10:38:14 3365
原创 div的text-align属性的使用
左边:text-align:left。可以不设置居中:text-align:center。右边:tex-align:right。注:如果一行中只有一个元素,那么可以直接使用这个属性布局。如果一行中有多个元素,就得使用float,position来定位了
2016-01-15 10:34:36 2527
原创 微信,qq浏览器不支持链接下划线的问题
#shopping_detail:link,#shopping_detail:visited{color:#9b9b9b;border-bottom:1px solid #9b9b9b;}#shopping_detail:hover{color: #CCCC00;border-bottom:1px solid #CCCC00;} #shopping_detai
2016-01-15 10:16:38 1559
原创 CSS的几种选择器
CSS指层叠样式表,它用来定义如何显示html元素。css是能够真正做到网页表现和内容分离的一种样式设计语言。css基础语法:CSS由两部分构成:选择器{一条或多条声明}选择器通常为你要改变样式的html元素声明有一个属性和一个值组成CSS的四种选择器:1、派生选择器(上下文选择器)派生选择的语法 : 上一级元素B 元素A{声明}; 只有元素A的
2016-01-06 12:00:34 447
原创 WebView的使用
WebView是Android官方提供的一个展示web界面的视图,默认只展示html界面,不支持javascript,界面导航等功能。如果要使用它来在自己的应用中集成一个比较简单的浏览器的话,需要如下操作:1、使用WebView实现网页展示(1)、编写一个叫Browser的activity,在这个activity的布局中加入WebView元素:<WebView xmlns:andr
2016-01-03 15:59:44 296
原创 ListView中单独更新某个Item的方法
在一些listview的应用中,有时只是需要更新某一个指定的item。如聊天应用中,发送聊天结束的时候去更新发送的这条聊天的状态;论坛中,给某个帖子点赞成功之后去更新这个帖子的点赞数量。这个时候,我们不需要去调用Adapter的notifyDataSetChanged方法。可以写一个updateItem(int position)的方法去更新指定项。listview提供了getchildat(
2015-12-29 19:08:49 5133
原创 从通知栏进入应用中的某一页面,回退事件的处理
当点击通知栏通知进入app指定界面之后,按返回键的时候,我们希望依然停留在应用里面。假设:通知打开的activity和应用的其他activity在一个栈中。(activity栈???)这是有两种情况: 一种是点击通知的时候,通知的应用在前台或者后台。当应用在后台的时候,通知打开activity的时候,会自动把应用带到前台。这是按返回键的时候,可以直接关闭掉当前的界面。
2015-12-29 18:29:53 801
原创 动态添加SurfaceView时的闪烁问题
surfaceview动态添加的时候会出现闪烁问题,原因是:SurfaceView因为不同于一般的view,它有自己良好的缓冲以及数据存取机制,系统对他有特殊处理。当surfaceview第一次在当前activity上添加的时候,系统会给WindowManager重新排布局,relayout,这样就会黑一下,这个只会出现在第一次,以后再添加surfaceview时就不会黑屏了。su
2015-12-29 17:53:22 4202 1
原创 selector资源的两种使用方式
同布局资源一样,selector资源也同样有两种使用方式一种是在xml资源文件中: 另为一种就是使用selector对应的资源类,在代码中创建://初始化一个空对象 StateListDrawable stalistD
2015-07-02 15:46:44 688
转载 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-04-09 15:06:17 337
原创 listview加载刷新加载更多的逻辑
1、三种网络请求方式private static final int REQ_FIRST_GET = 0;private static final int REQ_PULL_TO_REFRESH = 1;private static final int REQ_SCROLL_TO_REFRESH = 2;2、请求控制码mReqCode 3、界面逻辑(1)
2015-03-10 11:00:26 524
原创 退出帐号时handler消息循环造成闪退的问题
1、使用handler消息循环完成倒计时功能(1)handler有postDelayed(runnable r, long delayMillis)方法可以执行延时任务:我的疑问:(1)runnable执行在子线程中还是主线程中,如果runnable执行在子线程中,则不能用它来刷新ui。这个runnable执行在主线程中。(2)handler发送延时消息msg这种方法,我的做法
2015-03-04 14:59:23 1123
原创 适配器中需要多个项目布局的问题
在聊天项目中,暂时聊天消息需要用到两个不同的布局:发送的消息和接收的消息。这个时候,我们需要重写getViewTypeCount来设定有多少中不同的布局重写getItemViewType(int) 来指定每一个item的类型在getview中判断convertView==null时,根据view的类型来创建不同的convertView
2015-03-04 14:34:47 651
原创 progressbar的样式和使用
Android的ProgressBar样式:style="?android:attr/progressBarStyleHorizontal" 长形进度条style="?android:attr/progressBarStyleLarge" 超大号圆形ProgressBarstyle="?android:attr/progressBarStyleSmall" 小号圆形Progress
2015-01-17 15:21:40 628
原创 scrollview的使用
1、scrollview用于设置垂直滚动条,horizontalscrollview用于设置水平滚动条 需要注意的是,有一个属性是scrollbars可以设置滚动条的方向: 但是scrollview设置成horizontal和设置成none是相同的 horizontalscrollview设置成vertical和nonoe的效果是相同的2、隐藏边界
2015-01-08 18:18:58 591
原创 为什么写技术博客
为什么我们要写技术博客?我觉得有两个方面的原因:首先:主观上为了我们自己?写博客对自我的提升是很大,我想至少有这些好处:第一:强化经验和知识点,当我们就某一个问题,或者知识点写一篇博客的时候,为了写好这篇文章,我们会对文中的中心知识点和涉及到相关知识点进行重新梳理和总结。会加深对过去经验的理解,将原本独立的知识点关联起来、系统化。第二:可以索引记忆宝库,有博客这个载体作
2015-01-03 22:26:39 377
原创 命名规范
1、xml部分 (1)、xml布局命名 fragment_nework_disable,fragment_group:类型+功能 (2)、控件id命名 group_topbar :布局(功能)+模块功能
2014-12-21 20:32:34 421
原创 activity中的onWindowFocusChanged方法
activity中出了常见的生命周期方法之后还有几个重要的方法:onWindowFocusChanged、onSaveInstanceState、onRestoreInstanceState1、onWindowFocusChanged方法:这个方法在activity获得或者失去焦点的时候调用。如: (1)创建完成,首次显示时 (2)当前activity被其他activity
2014-12-13 15:20:38 1172
原创 activity+fragment+actionbar的菜单显示
让actionbar中直接显示fragment的optionmenu菜单:在fragment的oncreate中加上:setHasOptionsMenu(true);这样activity中就会显示fragment的optionmenu了。这个方法也适用于viewpager中的fragment
2014-12-12 17:43:42 730
原创 在子线程中如何更新ui
android不能在子线程中更新ui,否则会出现android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.异常。如果要在子线程中更新Ui,可以使用handler和Activity.runO
2014-12-12 14:55:26 478
原创 绘制圆角矩形和文字
public static int dip2px(Context context, float dipValue) {final float scale = context.getResources().getDisplayMetrics().density;return (int) (dipValue * scale + 0.5f);}public static int px2d
2014-11-27 19:59:46 826
转载 在图片上准确的绘制文字
package com.test.imgtest;/** * @项目 SurfaceDemo 文件名 GLFont.java * @GLFont *//** * @author leolaurel * @version 1.0.0 2012-7-5 */import android.graphics.Bitmap;import andro
2014-11-27 19:44:00 491
转载 开源客户端和组件
下面是一些好的代码库案例:Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习。今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助。另外,如果你有比较好的项目推荐,也烦请在评论里分享出来,我会定期更新博客内容。项目篇:Apollo音乐播放器:就一个播放器,但是实现的很好oschina
2014-06-10 16:25:00 472
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人