February 2020

Gtk searchEntry 无法输入英文文本

–Gtk searchEntry 无法输入文本可能原因

 

检查是否捕获了 key-press-event,然后又没有 return TRUE,这将导致发生键盘点击事件时,执行完对应回调函数后信号没有再继续传递,没办法被searchEntry捕获,也就没有办法继续输入文本了。

Continue reading...

Gtk TextView 如何去除白色背景框

Gtk TextView在某些情况下显示的文字会有白色的背景框,显得跟界面格格不入,如下图所示:

上图的源码如下:

Continue reading...

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

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...

安卓手机无法连接电脑上的ftp(vsftpd)服务器

注意一开始不要直接用ES浏览器去连接,它不显示报错信息,很难排查。

作者使用的是AndFTP,逐渐根据报错信息排查出了所有问题成功连接。

报错信息包括:

1.503错误

2.500 oops错误

 

一. 检查vsftpd启动状态

首先确保启动了vsftpd服务,如果不能启动,查看是不是有什么软件占用了21端口

找到该应用程序并停止,尝试重新启动vsftpd,相关命令如下(具体是哪个取决于你的系统运行的是哪个)

 

二. 检查配置文件(/etc/vsftpd.conf)是否正确

之后如果启动vsftpd仍旧失败,更可能的原因是配置文件有问题,首先放上作者可用的配置文件:

 

/etc/pam.d/vsftpd这个文件有点问题,还需要额外添加一句

最后重启vsftpd再次用安卓手机尝试进行连接ftp服务器。…

Continue reading...

ESP8266无法连接局域网中的服务器

现象:ESP8266成功连接热点后,可以正常访问互联网中的服务器,但是在同一个局域网中的电脑开启的服务器却无法被连接上。

可能原因:对于Windows可能不存在这个问题,测试过程中发现Windows会有弹窗提示是否允许此次的连接, 而Linux可能会有一些防火墙软件没有对目标端口放行,从而导致连接失败。

解决办法:用正在启用的防火墙软件(iptables或者firewall-applet等),新增过滤规则,放行特定端口。…

Continue reading...