Android
文章平均质量分 62
李狗蛋52635
这个作者很懒,什么都没留下…
展开
-
如何锁定ViewPager使其不可滚动
楼主最近在使用ViewPager时有这样的小需求,baidu之发现实现方法各异,楼主自己读源码觉得我自己的这种比较靠谱:public class ControlScrollViewPager extends ViewPager { private boolean scrollable = true; public ControlScrollViewPager(Context原创 2013-11-18 14:33:57 · 9719 阅读 · 11 评论 -
[笨笨的方法] 实现IOS列表的滑动删除效果
一、背景在做项目的时候,有一个需求,在两级列表中,实现类似于IOS的滑动删除效果,大体如下图:但有两点不太一样的地方:上层界面,是随手势滑动的;下层界面在上层被滑走后露出来。老大让我实现这个功能时,我想这个功能应该很简单啊,我就准备这样来做了:1.写一个对应每行的View类,本身支持滑动,这个应该不难写。2.让ExpandableListVIew的使用上述的Vi原创 2014-04-04 10:17:02 · 9144 阅读 · 6 评论 -
四种爪机夜间模式的实现思路
爪机夜间模式,为的是在夜间使用手机时,原创 2014-04-22 10:36:39 · 5352 阅读 · 0 评论 -
Android开发规范FML
一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如转载 2014-04-10 09:13:26 · 1382 阅读 · 3 评论 -
使用PullToRefresh实现下拉刷新和上拉加载
PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView2.ExpandableListView3.GridView4.WebView等多种常用的需要刷新的View类型,而且使用起来也十分方便。(下载地址:https://github.com/chrisbanes/Android-PullToRefresh)下载完成,将它导入到e原创 2013-12-20 15:51:46 · 256461 阅读 · 119 评论 -
Android上使用OpenGLES2.0显示YUV数据
楼主收到这样的任务,在Android上用OpenGLES来显示YUV图像,之所以这样做,是因为:1.Android本身也不能直接显示YUV图像,YUV转成RGB还是必要的;2.YUV手动转RGB会占用大量的CPU资源,如果以这样的形式播放视频,手机会很热,所以我们尽量让GPU来做这件事;3.OpenGLES是Android集成到自身框架里的第三方库,它有很多的可取之处。博主原创 2013-12-27 11:44:20 · 35404 阅读 · 88 评论 -
Android爪机连接蓝牙设备并进行通信的小例子
一般的Android手机都带有蓝牙,虽说BT这东西放到现在看是慢慢慢,但还是有很多的原创 2014-07-14 11:16:49 · 4683 阅读 · 4 评论 -
实现按钮式单选
很多时候,老大可能会要求你做出这样的单选效果,如下图:原创 2014-08-08 11:40:00 · 2405 阅读 · 2 评论 -
垂直的SeekBar:VerticalSeekBar
这是我找到的一个比较好用的垂直的SeekBar代码:public class VerticalSeekBar extends AbsSeekBar { private Drawable mThumb; public interface OnSeekBarChangeListener { void onProgressChanged(VerticalSeekBar Verti转载 2014-03-06 09:51:58 · 9427 阅读 · 9 评论 -
解决java.lang.IllegalStateException: The content of the adapter has changed but ListView...的问题
我写了一个Dialog,Dialog中有一个ListView,想要点ListView中的一项后,跳转到另外一个Activity去。但在使用时,会偶尔报出下面的错误:02-21 14:54:28.928: E/AndroidRuntime(2846): FATAL EXCEPTION: main02-21 14:54:28.928: E/AndroidRuntime(2846原创 2014-03-06 09:47:45 · 48522 阅读 · 14 评论 -
ExpandableListView的异步展开/加载children
二级列表是比较常用的控件,Group列表一般在一开始就会获取到,但Group下的子列表还是要通过网络请求去获取的,所以,这里使用异步比较好,那在界面上如何处理更好呢,楼主使用的是这样的方式:1.setup 一个ExpandableListView,Group的数据在程度一开始就加载好了。2.我们为ExpandableListView设置mList.setOnGroupClick原创 2013-11-18 15:00:39 · 8134 阅读 · 8 评论 -
[好用的小控件] 自带清除的EditText
public class ClearableTextView extends FrameLayout implements OnClickListener, TextWatcher, OnFocusChangeListener { private EditText mEditText; private ImageButton mClearButton; public C原创 2013-11-18 15:12:18 · 3857 阅读 · 1 评论 -
[好用的小控件] 显示全部内容的GridView
public class AllDisplayGridView extends GridView { public AllDisplayGridView(Context context) { super(context); } public AllDisplayGridView(Context context, AttributeSet attrs) {转载 2013-11-18 15:07:57 · 1837 阅读 · 0 评论 -
ViewPager与support包里的Fragment家族一起使用
近来有这个需求,滑动的ViewPager+Fragment可以给用户不错的体验,而且我们使用起来,也很方便,代码结构也很清晰。使用起来有几个要点:1.Activity 继承 android.support.v4.app.FragmentActivity。public class DeviceListActivity extends FragmentActivity2.你原创 2013-11-18 14:46:00 · 1813 阅读 · 0 评论 -
Android工程将流程封装在.so中是否是一个很好的选择。
TBD原创 2013-12-18 17:46:50 · 2911 阅读 · 0 评论 -
NDK so库的调用和编译
NDK动态库的调用分两种情况。第一种是:so库和调用程序在同一个目录和源程序 通过同一个mk文件来编译;另外一种情况是so是外部已经编译好了的,调用程序加载调用。下面我们就来分析下面2种so的调用情况:第一部分: 内部so调用 A. 先看下工程的目录: test01.java :Java文件转载 2013-12-27 09:01:38 · 13721 阅读 · 0 评论 -
在JNI代码中异步回调Java层方法
楼主开发中有这样的情况,native代码中某回调函数需要回调Java层某方法,由于从c层代码回调时JNIEnv这个指针是取不到的,所以这成了一个问题。 google一下,这个问题还是可以解决的。1.首先我们需要保存下来一个JavaVM的指针,如下:static JavaVM* jvm;在一个init的方法里将这个指针保存下来(可以在JNI_OnLoad()里做)env-原创 2013-12-27 13:44:27 · 8610 阅读 · 0 评论 -
理解Android中dpi和分辨率的关系,谈谈Android做成适应全部手机的UI方式
最近我在做一个界面,UI给的切图是1280x720这个分辨率的,给的标注单位是px(像素)。 我把原图自然而然地放在drawable-xhdpi中,然后开始调整布局(当时我默认1dp=2px)。把这个布局放到一个720P的电视上,发现完全变形了,奇囧无比之际,看了下电视的density,发现这货是1,这是一个mdpi的设备!!!然后我就开始想了,720P的切图,要放在xhdpi原创 2014-02-27 14:56:26 · 77934 阅读 · 22 评论