Android

安卓设置监听事件后波纹效果不起作用

Android ripple effect not working after catch the click event

 

事件起因:

布局:LinearLayout上放置TextView和Switch,统一作为RecycleView的一个item,还有一个最底层的布局也是LinearLayout,如下

 

在第二层LinearLayout上加入如下属性设置

想让RecycleView中textView和Switch点击时产生波纹效果,但是不起作用,通过一步步测试发现LinearLayout设置监听事件后才会不产生波纹效果,但是如果不在LinearLayout上设置Click监听事件,就不能让整个item产生波纹效果,比如如果监听的点击事件在TextView上,那么波纹效果只会在TextView上。

 

解决办法:

在最底层放置另一种布局 — constraintlayout,再上层之后不变化,还是LinearLayout -> TextView + Switch ,  TextView和Switch全部设置一个 android:clickable=”false” 属性,在适配器Adapter中统一捕获LinearLayout布局的点击事件,然后再手动书写代码完成按钮等的状态更改,如果按钮忘了设置不可点击属性,那么点击按钮时是不会有波纹效果的。

 

xml如下:

Continue reading...

Android studio 安卓实体机不显示 Logcat

可能原因如下:

1.Logcat设置有误

最上面一行中,第一个需要选中实体机,第二个是当前运行的线程,日志级别可以调至最低Verbose,最右选项选择为Show only selected application.

 

2.实体机没有开启Debug模式

设置(Setting)-> 系统(System)-> 开发者模式(Developer options)

将最上面的开关打开,其次需要打开的是USB debugging。

 

3.实体机没有开启Logger

在上面的界面里,如果Logggger buffer sizes关闭(Off)了,也需要将其设置一定的日志缓冲区大小。

 

问题: 找不到开发者模式

设置(Setting)-> 系统(System)-> 关于手机(About phone)

连续点击Build number,直到提示称开发者模式已经开启。

Continue reading...