Android 4.1下滚动视图中的SurfaceView
问题就在这里。 出于性能方面的原因,我选择使用SurfaceView来绘制一个类似于表的表单,并且因为这些内容充满了数据,所以我使用ScrollView作为SurfaceView的父级 很高兴看到它在我的个人开发专用手机(HTC Desire HD 2.3.7)上运行良好,我尝试在我的公司开发专用手机(Google Nexus S 4.1.?)上测试它,然后在我的个人手机(HTC one X 4.1.1)上测试它 最后两个屏幕出现了问题,我的SurfaceView在大约80px的滚动后变成黑色,并返回到在这个80px下滚动时的样子(取决于屏幕大小) 为了避免停电,我在一些模拟器下进行了测试 从2.2(客户的愿望)到4.0.4,它工作得非常好 笑话是,根据4.2。。。它也有用 当然,只有低于4.1.x时SurfaceView才会变黑强> 这是我的SurfaceView代码,我刚刚从您可以找到的示例中复制Android 4.1下滚动视图中的SurfaceView,android,scrollview,surfaceview,Android,Scrollview,Surfaceview,问题就在这里。 出于性能方面的原因,我选择使用SurfaceView来绘制一个类似于表的表单,并且因为这些内容充满了数据,所以我使用ScrollView作为SurfaceView的父级 很高兴看到它在我的个人开发专用手机(HTC Desire HD 2.3.7)上运行良好,我尝试在我的公司开发专用手机(Google Nexus S 4.1.?)上测试它,然后在我的个人手机(HTC one X 4.1.1)上测试它 最后两个屏幕出现了问题,我的SurfaceView在大约80px的滚动后变成黑色,
这个代码片段可能就是答案
if(VERSION.SDK_INT != VERSION_CODES.JELLY_BEAN)
{
this.setZOrderOnTop(true);
}
但是这样做的问题是背景变黑了
我必须为这个特定的android版本绘制我在“背景”表面视图中绘制的网格
这不是一个好的解决方案,因为在此SurfaceView中绘制网格会破坏滚动的平滑度和缩放的收缩
if(VERSION.SDK_INT != VERSION_CODES.JELLY_BEAN)
{
this.setZOrderOnTop(true);
}