今天在工作中犯了一个错误,写的视频播放器突然物理音量键就不起作用了. 一開始以为是自己定义的音量条把系统的物理音量条按键给屏蔽掉了. 删除自己定义的音量条还是不行,又怀疑是是加入了什么权限之类的.重复尝试都不是那些原因.最后发现是onKeyDown物理按键的监听事件的问题!.!又一次onKeyDown方法的时候,我居然鬼使神差的返回true.!! 返回true的意思是不是backbutton的都不继续往下传递响应.就是这里的原因. 改成return false就好了.以此为戒,谨记谨记.! !…
如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView 的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为 false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了 我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blo…
首先要找到相对应的控件,之后再来一个数组,再把数组里面的数字显示到控件上面. private void initView() { mNum0 = (Button) findViewById(R.id.button0); mNum1 = (Button) findViewById(R.id.button1); mNum2 = (Button) findViewById(R.id.button2); mNum3 = (Button) findViewById(R.id.button3); mNum4…
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:shrinkColumns=" > <TableRow android:layout_width="matc…
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点.好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作. 但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug.查看代码发现,原来是执行了下面的代码才模拟出在屏幕上的点击事件. Runtime.getRuntime().e…
翻译自这里,并做了部分修改. 什么是Android? Android是为移动设备提供的软件,它包括操作系统.中间件.和一些关键的应用程序.应用程序执行它自己的进程和在Dalvik虚拟机中的实例. Android应用程序体系结构描述 Services−将执行后台功能 Intent −将执行国际活动和数据传递机制之间的联系 Resource Externalization(资源外化)−字符串和图形 Notification(通知)−光.声音.图标,通知.对话框和烤面包 Content Provide…
系统默认使用的是ActionBar,就是界面中的标题栏,但是由于ActionBar设计的原因,被限定只能位于活动的顶部,从而不能实现Material Design效果,所以官方建议使用Toolbar替换掉ActionBar 下面来看一下,如果使用Toolbar 1.首先先去掉默认的ActionBar,修改styles.xml,这个styles.xml是项目自带的,位于src/main/res/values目录下,注意看红色内容为我添加的内容: <resources> <!-- Base…
Android中音量按键在调低音量时,如果一直按住Down按钮不放,则系统将音量跳到最小后,又自动调节到静音状态.这个机制和iPhone是不同的,iPhone中无论你怎么按Volume-按钮,只能调到最小,还是有一点声音,是不能自动静音的. Android中如果要禁止这个自动静音功能,也是有办法的,找到Down按钮的处理事件,做个判断就行了,代码在: frameworks/base/media/java/android/media/AudioManager.java public void ha…
今天来看一下Android中的广播机制,我们知道广播Broadcast是Android中的四大组件之一,可见他的重要性了,当然它的用途也很大的,比如一些系统的广播:电量低.开机.锁屏等一些操作都会发送一个广播,具体的Android系统中的广播可以参见我的另外一篇博客:http://blog.csdn.net/jiangwei0910410003/article/details/17218985. 下面就来详细讲解一下广播机制: 广播被分为两种不同的类型:"普通广播(Normal broadcas…
启动Service并传递数据进去: Android中通过Intent来启动服务会传递一个Intent过去. 可以在Intent中通过putExtra()携带数据 Intent startIntent = new Intent(MainActivity.this, MyService.class); startIntent.putExtra("data", etData.getText().toString()); startService(startIntent); 在Service的…