随笔分类 - Android
Android MotionEvent事件响应机制
摘要:在android中,事件主要包括点击、长按、拖曳、滑动等操作,这些构成了Android的事件响应,总体来说,所有的事件都由如下三个部分作为基础构成: 按下(action_down),移动(action_move),抬起(action_up)。各种响应归根结底都是基于View以及ViewGroup的,
阅读全文
android:configChanges属性
摘要:对android:configChanges属性,一般认为有以下几点: 1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2、设置Activity的android:configChanges="orienta
阅读全文
Android之ScrollView嵌套ListView
摘要:在ScrollView中嵌套使用ListView,ListView只会显示的内容只有一行多一点 解决方案: 在setAdapter方法之后调用 new Utility().setListViewHeightBasedOnChildren(lv); 转载:http://jackxlee.blog.51
阅读全文
Android开发之InstanceState详解
摘要:本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用InstanceState保存和恢复数据功能、Android实现屏幕旋转异步下载效果这样两个示例。
阅读全文
android.support.v4.app.Fragment和android.app.Fragment区别
摘要:1.最低支持版本不同 android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版 android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="4" 即1.6版 2.需要导
阅读全文
Android中利用ViewHolder优化自定义Adapter的典型写法
摘要:其中MarkerItem是自定义的类,其中包含name,description,createTime等字段,并且有相应的get和set方法。 ViewHolder是一个内部类,其中包含了单个项目布局中的各个控件。 单个项目的布局,即R.layout.item_marker_item如下: 官方的AP
阅读全文
listview加载性能优化ViewHolder
摘要:在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局, 但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建。 ListVie
阅读全文
android之merge布局
摘要:<merge />标签闪亮登场了。当LayoutInflater遇到这个标签时,它会跳过它,并将<merge />内的元素添加到<merge />的父元素里。 用<merge />来替换FrameLayout XML布局: <merge xmlns:android="http://schemas.a
阅读全文
android:clipToPadding和android:clipChildren
摘要:假设我们要做一个效果,界面最顶部是一个ActionBar并且是半透明的,ActionBar下面是一个ListView,在初始状态 下, ListView是top是在ActionBar的bottom位置的,但当ListView滚动的时候可以透过ActionBar看到下面的 ListView的 内容。如
阅读全文
Android中自定义样式与View的构造函数中的第三个参数defStyle的意义
摘要:零、序 系统自带的View可以在xml中配置属性,对于写的好的Custom View同样可以在xml中配置属性,为了使自定义的View的属性可以在xml中配置,需要以下4个步骤: 通过<declare-styleable>为自定义View添加属性 在xml中为相应的属性声明属性值 在运行时(一般为构
阅读全文
在进程View时的四个构造函数详解
摘要:public View(Context context):源代码中的解释如下:在Code中实例化一个View就会调用第一个构造函数 /** * Simple constructor to use when creating a view from code. * * @param context The Context the view is running ...
阅读全文
LayoutInflater和inflate()方法的用法
摘要:LayoutInflater作用是将layout的xml布局文件实例化为View类对象。 实现LayoutInflater的实例化共有3种方法, (1).通过SystemService获得 (2).从给定的context中获得 (3). 其实,这三种方式本质是相同的,从源码中可以看出: getLay
阅读全文
android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
摘要:1 Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA) 5
阅读全文
Android之drawable state各个属性详解
摘要:官方对各个state属性的介绍如下: android:constantSize If true, the drawable's reported internal size will remain constant as the state changes; the size is the maxi
阅读全文
Android receiver
摘要:可以在代码文件中声明一个receiver,也可以在manifest中声明一个,前者中的receiver只有在该activity launch起来以后才会监听其所感兴趣的事件, 而如果在androidManifext.xml中声明的话,就不受限制,随时可以监听感兴趣的事件。 首先谈谈在androidM
阅读全文
android:launchMode的四种方式
摘要:Activity一共有以下四种launchMode: standard singleTop singleTask singleInstance 1.standard standard模式是默认的启动模式,不用为<activity>配置android:launchMode属性即可,当然也可以指定值为s
阅读全文
Android 编程下的代码混淆
摘要:什么是代码混淆 Java 是一种跨平台的、解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中。由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成 Java 源代码。为了防止这
阅读全文
浙公网安备 33010602011771号