您当前的位置:首页 > 计算机 > 编程开发 > 安卓(android)开发

部分Android8.0以上机型RelativeLayout出现绿色边框解决办法

时间:02-10来源:作者:点击数:

问题描述:

在做Android apk的时候发现部分Android8.0以上的机型有以下问题,写了一个页面或者弹窗布局,布局中有RelativeLayout,其中包含EditText这种可以获取焦点的控件,UI界面第一次展示的时候正常,但是在做了网络查询或者跳转到其他页面,再返回该页面的时候发现有的带EditText的RelativeLayout被自动添加了绿色边框。

出现该问题的原因:

查看Android8.0的API变动,发现有以下变动:布局

如今,若是您没有为 View 对象(前景或背景图片)定义任何焦点状态颜色,
框架会为 View 设置默认的焦点突出显示颜色。
此焦点突出显示标志是基于操做组件主题背景的涟漪图片。c

看着这里,发现找到问题原因了,下面应该是解决方案:

若是您不但愿 View 对象在接收焦点时使用此默认突出显示标志,
请在包含 View 的布局 XML 文件中将 
android:defaultFocusHighlightEnabled 属性设置为 false,
或者将 false 传递至应用界面逻辑中的 setDefaultFocusHighlightEnabled()对象

通过尝试发现这个API在低版本中没有,接着看,发现下面的描述:事件

可点击的 View 对象如今默认也能够成为焦点。若是您但愿 View 对象可点击
但不可成为焦点,请在包含 View 的布局 XML 文件中将 
android:focusable 属性设置为 false,
或者将 false 传递至应用界面逻辑中的 setFocusable()。

给RelativeLayout增加属性

android:focusable="false"

通过尝试,问题解决了。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门