底部导航栏原来采用radiogroup 但是中间凸出  所以中间采用view 的方式,但是出现view点击两次的问题,查看问题的原因是view焦点被radiobuttun抢占,而单纯的采用在布局加 、android:focusableInTouchMode="true"、android:focusable="true"、android:clickable="true"是不能解决问题的。我们要找到原因然后才能解决它。子元素中如果是view(比如,LinearLayout等),容易被button等抢夺焦点,两次生效通过debug发现第一次没有响应,是获取焦点,第二次才是点击操作。我们可以通过setOnFocusChangeListener检测当前控件的焦点如果没有焦点我们获取焦点给它,这样点击一次就能实现啦。对于焦点问题,我们可以监听和debug就能及时找到问题所在。
kongjian.setOnFocusChangeListener(new View.OnFocusChangeListener() {            @Override            public void onFocusChange(View v, boolean hasFocus) {                if(hasFocus){                }else{                    fabu.requestFocus();                    fabu.setFocusableInTouchMode(true);                    fabu.setFocusable(true);                }            }        });

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. Android横屏竖屏切换的问题
  3. android2.2中EditText不可编辑的问题
  4. Android(安卓)中屏幕点击事件的实现
  5. 解决:android:editable is deprecated: Use an to make it edita
  6. Linux android studio :'tools.jar' seems to be not in Android
  7. 解决TextView中MaxLines与ellipsize=end问题
  8. 使用Android(安卓)Studio打Andorid apk包的流程
  9. Android(安卓)ListView滑动后背景变黑问题解决方法

随机推荐

  1. Android编程实现连接Wifi(运用Wifi 相关
  2. 5. Android(安卓)内存管理
  3. 一个使用FFmpeg库读取3gp视频的例子-Andr
  4. Android(安卓)使用网页开发软件界面
  5. Mac下Android(安卓)studio关联svn以及取
  6. Windows平台下使用Android(安卓)NDK进行
  7. [点评]谷歌发布Android(安卓)2.3 点评八
  8. 浅析Android线程模型
  9. android开机启动自己的app,安卓开机启动自
  10. Android高手进阶教程(二十三)之---Androi