您的位置:首页 > 移动开发 > Android开发

android开发小细节笔记

2017-11-07 10:41 357 查看

1、activity界面默认不弹出软键盘方式:

两种方式:

// 1、动态设置
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)

// 2、manifest文件
android:windowSoftInputMode="stateHidden"


2、edittext默认不显示光标:

// 找到本布局文件中第一个EditText的父级控件,为其添加以下属性
android:focusable="true"
android:focusableInTouchMode="true"


3、sourecetree提交代码到github,提示remote: Invalid username or password.

打开git命令行模式,输入git push,然后根据提示输入用户名和密码

4、Fragment的显示和隐藏监听

show/hide()方法重写onHiddenChange(boolean hidden)监听显示或者隐藏

viewpager里的fragment重写setUserVisibleHint(boolean isVisibleToUser)方法才能监听到显示、隐藏

5、ViewPager 限定预加载页面个数,要在viewpager.setAdapter(mAdapter);方法前设置才能生效

6、使用android.support.v4.content.ContextCompat替换getResources()获取资源

7、延时执行:Handler.postDelayed(Runnable r, int delayMillis), 记得使用Handle.removeCallbacks(Runnable r)取消线程

8、事情分发事件:http://blog.csdn.net/xyz_lmn/article/details/12517911

9、禁用checkBox点击事件

场景举例:recyclerview中放置checkbox的时候,想禁用checkbox的点击事件

android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"


10、实例化异常java.lang.NoSuchMethodException ()

原因:数据库存储中报这个异常, 原因是写了一个有参构造,重载了构造函数,而存储中需要无参构造,造成了实例化异常。

解决方法:重写下无参构造。

11、NestScrollView嵌套recyclerview时,焦点recyclerview被抢页面自己滑动的问题:

// 1、首先在NestScrollView节点添加
android:focusableInTouchMode="true"

// 2、然后在NestScrollView的子节点view添加,表示viewgroup会覆盖子类控件而直接获得焦点
android:descendantFocusability="blocksDescendants"


12、android:state_enabled 无效

原因:selector标签执行有优先级,第一个属性的优先级最高,依次递减, 解决:将state_enabled属性调到最前面;

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--优先级最高-->
<item android:drawable="@drawable/pic_btn_unenable" android:state_enabled="false" />
<!--优先级第二高-->
<item android:drawable="@drawable/pic_btn_selected" android:state_checked="true" />
<!--优先级第三高-->
<item android:drawable="@drawable/pic_btn_unselected" android:state_checked="false" />
<item android:drawable="@drawable/pic_btn_unselected" />
</selector>
这里写代码片


13、空格占位符

在android布局中常常使用空格来实现文字对齐。

13.1、具体使用:

1. 一个中文的空格:    
2. 半个中文的空格: 
3. 半个英文的空格: 
4. 一个英文的空格: 
5. 四分之一中文空格: 


注意:实际开发中可以任意搭配完成我们的需求。

13.2、TextView实现首行缩进

半角:\u0020

全角:\u3000

java代码中,setText(“\u3000\u3000”+xxxxx);

string资源文件中,加入”\u3000\u3000”即可实现首行缩进。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 笔记