【问题标题】:Possible reasons of not showing up the view on SurfaceView未在 SurfaceView 上显示视图的可能原因
【发布时间】:2020-10-28 15:19:07
【问题描述】:
我有一个扩展 SurfaceView 的自定义视图,在这里我有一个微调器。我将它的可见性设置为可见和不可见,但经过一个显示和隐藏的循环后,下一次它不再显示了。为了验证有什么问题,我在画布文本上绘制:
spiner3.getVisibility()
spiner3.getX()
spiner3.getY()
但这些似乎都没有错,我的意思是 X 和 Y 在屏幕上,getVisibility 返回View.VISIBLE。那么如果不是可见性属性和协调性,那么没有出现的其他原因是什么?
【问题讨论】:
标签:
java
android
surfaceview
【解决方案1】:
我做了一个解决方法。在使用此视图的 Activity 中,我添加了这样的代码:
Handler mTimerHandler;
Timer timer = new Timer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gra_layout);
vg = findViewById(R.id.content_frame);
refreshSpinner();
...
}
private void refreshSpinner() {
mTimerHandler = new Handler();
timer.schedule(new TimerTask() {
public void run() {
mTimerHandler.post(() -> {
vg.invalidate();
});
}
}, 0, 100);
}