首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于SurfaceView的安卓EditText

基于SurfaceView的安卓EditText
EN

Stack Overflow用户
提问于 2013-03-23 03:37:30
回答 1查看 810关注 0票数 0

我有一个从SurfaceView继承的自定义视图,并且在同一个RelativeLayout中有EditText (自定义视图和EditText在布局的xml中都是兄弟)。当我使EditText可见时,用这种方式

代码语言:javascript
复制
setVisibility(View.VISIBLE);

自定义视图接收onDraw(Canvas c)方法的连续调用。有人知道为什么吗?我从来没有显式地调用invalidate()。

EN

回答 1

Stack Overflow用户

发布于 2013-03-23 04:03:50

这里没有任何问题。这是正常行为。onDraw()会被调用很多次,因为每当它觉得需要显示更改时,它都会重新绘制您的活动。有很多复杂的内部算法来决定何时以及为什么重新绘制活动。Android会为我们解决这个问题,我们不需要担心它。

一旦活动被重新绘制,它的所有子元素也会被重新绘制。这会发生在所有视图中,而不是自定义视图中。请放心,您的代码没有任何问题。

有兴趣了解更多关于内部结构的知识吗?查看View类的source code

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15578525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档