android最近心得整理
- activity中OnAttachedWindow生命周期在OnResume之后,所以对长宽获取在推荐在OnAttachedWindow中进行。
- onDetachedWindow是在OnDestroy之后调用的,按返回键会运行,可是按home键不会运行。
- 对于xml中的fragment标签仅仅能是android.support.v4包里面的fragment及继承自该类的子类,否则会报 "binary XML file line #6: Error inflating class fragment"错误,假设要使用3.0以上版本号的fragment 建议是在xml里面定义一个容器。然后用FragmentTransaction操作容器,加入fragment。
- TextView的singeLine会使自己定义背景的颜色失效。
- 对于EditText控制可编辑性最好的解决的方法就是设置enable的值来控制,比通过代码调整或者替换控件的方法要好的多。
- 监听键盘的弹起和隐藏事件,推荐是在AndroidManifest.xml对activity的WindowSoftInputMode中设置adjustPan或者adjustResize。详细看哪种适合你的使用环境,然后注冊监听ViewTreeObserver.OnGlobalLayoutListener,在重载方法onGlobalLayout中推断弹起还是隐藏。
演示样例代码例如以下:
private class MyStateListener implements ViewTreeObserver.OnGlobalLayoutListener {
private final View mDecorView;
private final CameraFragment mFragment;
private int mFrameHeight = 0;
private boolean mKeyboardShow;
private final Rect mVisibleDisplayFrame; IMEStateListener(CameraFragment paramView, View view) {
this.mFragment = paramView;
this.mDecorView = view;
this.mVisibleDisplayFrame = new Rect();
} @Override
public void onGlobalLayout() {
this.mDecorView.getWindowVisibleDisplayFrame(mVisibleDisplayFrame);
int i = this.mVisibleDisplayFrame.height();
if (this.mFrameHeight == 0) {
this.mFrameHeight = i;
}
if (i < this.mFrameHeight) {
this.mKeyboardShow = true;
} else if (this.mKeyboardShow) {
this.mKeyboardShow = false;
mHandler.sendEmptyMessage(KEYBOARD_HIDE);
}
}
}
android最近心得整理的更多相关文章
- 2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想 ...
- 【转】GitHub平台最火Android开源项目整理——2013-08-25 17
http://game.dapps.net/news/developer/9199.html GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮 ...
- material design 的android开源代码整理
material design 的android开源代码整理 1 android (material design 效果的代码库) 地址请点击:MaterialDesignLibrary 效果: 2 ...
- Android 零散知识点整理
Android 零散知识点整理 为什么Android的更新试图操作必须在主线程中进行? 这是因为Android系统中的视图组件并不是线程安全的.通常应该让主线程负责创建.显示和更新UI,启动子线程,停 ...
- (转)Mysql数据库主从心得整理
Mysql数据库主从心得整理 原文:http://blog.sae.sina.com.cn/archives/4666 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本 ...
- [Android实例] 最全的Android开发资源整理--进阶必备
本帖最后由 一切随枫 于 2014-6-9 12:08 编辑 原文链接: http://stormzhang.github.io/android/2014/06/05/android-awesome- ...
- Android spannableStringBuilder用法整理
Android spannableStringBuilder用法整理 分类: Android开发2013-11-29 10:58 5009人阅读 评论(0) 收藏 举报 Androidspannabl ...
- Android学习心得(13) --- Android代码混淆(1)
我在博客上发表一些我的Android学习心得,希望对大家能有帮助. 这一篇我们讲述一下最新的ADT环境下怎样进行Android混淆 在新版本号的ADT创建项目时.混码的文件不再是proguard.cf ...
- Android笔记(七十三) Android权限问题整理 非常全面
Android权限系统非常庞大,我们在Android系统中做任何操作都需要首先获取Android系统权限,本文记录了所有的Android权限问题,整理一下分享给大家. 访问登记属性 android.p ...
随机推荐
- Win7安装vs2010失败
提示: ------------------------------------------------------------------------------------------------ ...
- spring boot application properties配置详解
# =================================================================== # COMMON SPRING BOOT PROPERTIE ...
- Jetty支持Windows认证
WAFFLE是什么? Jetty增加WAFFLE支持 DEMO 小结 WAFFLE是什么? WAFFLE是一个Windows认证框架,支持Negotiate, NTLM和Kerberos认证.WAFF ...
- zabbix 监控jmx 需要--enable-java
安装Javagateway如果原来已经安装zabbix,只需要再添加以下zabbix-java # tar zxvf zabbix-2.2.0.tar.gz # cd zabbix-2.2.0 # . ...
- 与众不同 windows phone (12) - Background Task(后台任务)之 PeriodicTask(周期任务)和 ResourceIntensiveTask(资源密集型任务)
原文:与众不同 windows phone (12) - Background Task(后台任务)之 PeriodicTask(周期任务)和 ResourceIntensiveTask(资源密集型任 ...
- 【Demo 0009】表视图控制器
本章学习要点: 1. 掌握表视图控制器结构; 2. 掌握表视图控制器的基本使用; 3. 掌握表视图表格的基本使用: 4. 掌握自定义表视图表格及 ...
- Swift - 将表格UITableView滚动条移动到底部
有时我们需要通过代码自动将表格UITableView滚动条移动到尾部,只需要使用scrollToRowAtIndexPath方法即可,代码如下: 1 2 3 4 5 var secon = 1 //最 ...
- linux 配置 mail server
一.配置yum安装工具 ① 进入yum目录 [root@bj ~]# cd /etc/yum.repos.d ② 配置yum.repo [root@bj yum.repos.d]# cprhel- ...
- RotateDisp – 一键旋转显示画面 - 小众软件
RotateDisp – 一键旋转显示画面 - 小众软件 RotateDisp – 一键旋转显示画面
- Java线程状态及Thread类中的主要方法
要想实现多线程,就必须在主线程中创建新的线程对象. 不论什么线程一般具有5种状态,即创建,就绪,执行,堵塞,终止. 创建状态: 在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时 ...