android开发中代码片段集合 (二)
2012-11-26 22:07
381 查看
和上一篇一样,一些常用的功能代码。原本想写在一篇里面,突然发现有时文章太长,看久了也许就走神了,所以还是简洁点,每篇记录10个左右case,慢慢积累。
后面的慢慢补充。。。
1.精确区配联系人 11位 or 7位
android源码的号码匹配默认是从后向前匹配7位,这个可以应付大多数情况了,但是这东西放在天朝有时就不灵了,11位号码 13500000000和 00000000 android分不出来了, 在哪里改下呢? Framework代码 phoneNumberUtils.java有个常量,把这个7改成11,匹配时所调用的方法看下的代码吧,关键的代码在这里,其它的要看具体应用了。static final int MIN_MATCH = 7; public static String toCallerIDMinMatch(String phoneNumber) { String np = extractNetworkPortionAlt(phoneNumber); return internalGetStrippedReversed(np, MIN_MATCH);
2. 列表长按菜单对应的选项ID
这个需求应该比较常见了,就是list列表长按菜单项所对应的listitem的id是多少,如何得到。 网上应该也有很多,不过多解释在此记录public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfoIn) { AdapterContextMenuInfo mi = (AdapterContextMenuInfo) menuInfoIn; AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)aItem.getMenuInfo(); 这个mi对象中会有 id position view三个参数 } 还有可能是这样的 public boolean onContextItemSelected(MenuItem aItem) { ContextMenuInfo menuInfo = (ContextMenuInfo) aItem.getMenuInfo(); AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)aItem.getMenuInfo(); id = (int)info.id; return true; }
3 设置字符串光标位置
也许有时候我们就不想让光标在第一个位置,设置方法就是下面的代码了,要使用Selection.java这个类Editable etext = mSubjectTextEditor.getText(); Selection.setSelection(etext, etext.length());
4 监听音量上下键调节音量
这个网上貌似很多回答,大多数是转载,监听onkeyDown消息没错,可是好多都没有给出获取当前音量的方法,基本上没法直接用。下面这个测试是有效的。AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE); @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: audio.adjustStreamVolume( AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, // 增加音量 AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI); return true; case KeyEvent.KEYCODE_VOLUME_DOWN: audio.adjustStreamVolume( AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER,//减少音量 AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI); return true; default: break; } return super.onKeyDown(keyCode, event); }
5 editText中设置回车输入不换行
这是源码 Mms 编辑界面所使用的一个效果,在信息正文的编辑框里输入回车是不会实现换行的,实现代码如下,也许有时候你也有这样的需求。Activtyy 实现TextView.OnEditorActionListener这个接口 public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (event != null) { // if shift key is down, then we want to insert the '\n' char in the TextView; 注意看下注释 // otherwise, the default action is to send the message. if (!event.isShiftPressed()) { return true; } return false; }
后面的慢慢补充。。。
相关文章推荐
- android开发实用代码片段集合(更新ing)
- android开发中代码片段集合
- android开发中代码片段集合
- android开发中代码片段集合 (一)
- Android 开发常用代码片段
- Android 开发常用代码片段
- Android开发之常用代码片段
- Android开发中一些直接拿来用的代码片段
- Android 开发常用代码片段
- android开发过程中使用功能性代码片段(一)
- Android 开发常用代码片段
- Android 开发常用代码片段
- 实用的Android代码片段集合(精)
- Android开发 常用代码片段
- Android开发常用的36个代码片段
- Android开发实用代码片段(一)
- Android 开发常用代码片段
- Android 开发常用代码片段
- 在Android开发中10个很有用的代码片段介绍
- Android 开发常用代码片段