摘要:
在任何编程语言中,字符串都是我们编写程序时不可避免要用到的常用的数据类型之一. 对于Java初学者而言,当谈到String和StringBuffer的区别时,通常都会有些困惑. 而要弄清楚两者之间的区别,正确地理解String类是最为关键的.1. java.lang.String is immutable在Java中string是一个对象,String类位于java.lang包中,在Java中String对象中的每一个字符(character)都是16bit的Unicode字符. 创建一个String对象的方法有如下3种:1. String s = new String();s = “abcd 阅读全文
摘要:
当需要在 android 7或更高的版本使用 ActionBar,则可以通过继承ActionBarActivity来实现,网上有一个开源项目来兼容老版本显示ActionBar的效果:ActionBarSherlock。使用android.support.v7 来实现ActionBar感觉会更简单一些。android.support.v7 有三个jar文件可供使用,对于ActionBar我们需要使用android-support-v7-appcompat.jar路径:...\sdk\extras\android\support\v7\appcompat\libs 但是直接把这个jar 导入项目是 阅读全文
摘要:
GridLayout 是在 Android API Level 14 加进来的 它可用来取代 TableLayout 也提供了自由度较大且实用的排版功能 为了兼容 4.0 以下的较低版本 Android 提供了 android.support.v7.widget.GridLayout 这个 libuary 当使用 xml 档做画面排版的时候 如果是使用 android.support.v7.widget.GridLayout 有一些属性需要使用 app 这个 name space app:orientation app:columnCount app:rowCount app:alignm.. 阅读全文
摘要:
Android是用Java开发,其静态变量的生命周期遵守Java的设计。我们知道静态变量是在类被load的时候分配内存的,并且存在于方法区。当类 被卸载的时候,静态变量被销毁。在PC机的客户端程序中,一个类被加载和卸载,可简单的等同于jvm进程的启动和结束。那么在Android中呢?用的 Dalvik vm也是一样的。不过Android不太突出的进程概念,所以对静态变量的生命周期就会感觉模糊,这种模糊对于值类型是无所谓的,如果是静态的对象引用, 则与内存回收、内存泄漏这些问题有关,有必要加深研究和理解。一、静态变量在类被加载的时候分配内存。类在什么时候被加载?当我们启动一个app的时候,系统会 阅读全文
摘要:
示例demomain.xml布局代码: 1 5 6 11 12 gridview的布局代码 1 2 7 8 15 16 17 18 gridview渐变色背景 1 2 4 5 9 10 11 item布局 1 2 6 7 13 14 22 23 Acitivity代码: 1 package com.android.hzy.popupwindow; 2 3 import android.app.Activity; 4 import android.graphics.drawable.... 阅读全文
摘要:
方法一(这种方法可以处理popupwindows dimiss的时候一些其他的操作,比如让其他控件的隐藏,消失等):代码如下popupWindow.setFocusable(false);//focusable要为false(不设置默认的就是False);//这是Activity 的OnTouchEvent。OnTouchEvent代表的是Activity 获得事件(即为PopupWindow之外)@Overridepublic boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stubif (popu 阅读全文
摘要:
1. ListView的OnItemClickListener不被触发的另外一种情况如上图,在一个ItemView中,只有一个TextView位于最左侧,他的右侧是空白区域,没有任何控件,当点击右侧区域时,并不会触发OnItemClickListener,当点击TextView所在的区域时,就能触发这个事件。看看这个事件的执行流程右侧空白的部分没有View控件,也就是说虽然用手指点击了这一部分,但是没有view获取焦点,Android的事件触发是从顶层view一层层往下寻找的,如果有view获取焦点,就交给这个view处理,如果没有,就交给activity处理。click事件与touch事件的 阅读全文
摘要:
安装了最新的ATD 18之后,新加的Lint Warnings插件会给我们检测出许多xml布局中不当的地方,例如:Use a layout_width of 0dip instead of fill_parent for better performance什么意思呢?举个简单的例子:这是一个垂直布局,上下的线性布局各占高度50.0dp,中间的的TextView设置了android:layout_weight="1.0"属性,会将剩余空间填充满,这时候TextView的android:layout_width="fill_parent"就没有用了,应该改 阅读全文
摘要:
需要确定组件在父窗体中的坐标时,使用getLocationInWindow,需要获得组件在整个屏幕的坐标时,使用getLocationOnScreen。其中location [0]代表x坐标,location [1]代表y坐标。1 int[] location = new int[2] ;2 3 /**获取在当前窗口内的绝对坐标,getLeft , getTop, getBottom, getRight, 这一组是获取相对在它父窗口里的坐标。*/4 view.getLocationInWindow(location); 5 //获取在整个屏幕内的绝对坐标,注意这个值是要从屏幕顶端算起,也就.. 阅读全文
摘要:
尊重原创作者,转载请注明出处:http://blog.csdn.net/gemmem/article/details/7321910 Scroller这个类理解起来有一定的困难,刚开始接触Scroller类的程序员可能无法理解Scroller和View系统是怎么样联系起来的。我经过自己的学习和实践,对Scroller的用法和工作原理有了一定的理解,在这里和大家分享一下,希望大家多多指教。 首先从源码开始分析:View.java[java]view plaincopy/***CalledbyaparenttorequestthatachildupdateitsvaluesformScrollX* 阅读全文