1.scrollView是继承自frameLayout,所以在使用LayoutParams时需要用frameLayout的
2.EditText中有一些预置文本的时候,想把光标调到最前面,一开始是使用的setSelection(0),结果发现在三星P1000上面有问题。经过研究发现需要先调用EditText.requestFocus(),再调用setSelection(0)。否则的话,在2.x的机器上有问题,但3.x上面是好着的。
3.使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:
android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕
同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone" //输入框右侧不带任何提示
android:imeOptions="actionGo" //右下角按键内容为'开始'
android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索
android:imeOptions="actionSend" //右下角按键内容为'发送'
android:imeOptions="actionNext" //右下角按键内容为'下一步'
android:imeOptions="actionDone" //右下角按键内容为'完成'
4.android里设置透明色的方法:比如要设置成75%的透明色,用255*0.75=191.25,取整,191转换成十六进制为BF,将BF加到颜色代码前面BFXXXXXX就可以了。
5.LocalBroadcastManager局部广播管理器包含在Android Support Library 中,用于简化注册BroadcastIntent,以及在应用程序组件之间发送BroadcastIntent的工作。因为局部广播的作用域比较小,所以比全局广播更加高效,而且可以确保应用程序外部的组件接受不到广播,确保敏感数据泄漏出去。
6.调用系统相机拍照时,拍照结束在相册里找不到刚拍的照片,解决办法是在拍完照后发送一个广播去更新相册,需要一下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
4.4以前sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://"+Environment.getExternalStorageDirectory())));
4.4以后sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file)));
7.getX()是表示view相对于父控件左上角的x坐标
getRawX()是相对于屏幕左上角的x坐标(是手机屏幕不管是否有titleBar或者有没有全屏)
8.EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的android:textCursorDrawable="@null","@null"作用是让光标颜色和text color一样9.AsyncTask 内部是Handler加线程池实现,线程池最大允许128个任务同时执行,超过128会等到前面的结束才会执行,一般不会超过128,AsyncTask必须在主线程里创建对象AsyncTask比Handler更消耗资源,原因:AsyncTask 内部是Handler加线程池实现10.onConfigurationChanged() 正常情况下:屏幕旋转等,在屏幕切换的同时,会把之前的Activity销毁onDestroy(),再重新走一遍Activity的生命周期。 避免这种情况发生,可以在AndroidMainfest的Activity属性里加上android:configChanges="orientation",然后复写onConfigurationChanged(). 但也仅限于Android4.0之前的系统。android4.0之后的版本已经做了改变,因为当你切换屏幕的时候,屏幕的尺寸也相应的改变了,所以应该在 <Activity/>属性里添加android:configChanges="orientation|screenSize",然后再复写onConfigurationChanged()就行了。11.sevice不是一个进程也不是一个线程,他是与当前线程绑定的。待续。。。