GL보기 위에 투명한 HTML 오버레이를 넣으려고했지만 항상 GL보기를 덮는 검은 색으로 깜박입니다. 며칠 후에이 깜박임을 제거하려고 시도한 결과 나에게 허용되는이 해결 방법을 찾았습니다 (그러나 안드로이드에게는 수치 스럽습니다).
문제는 멋진 CSS 애니메이션을 위해 하드웨어 가속이 필요하다는 것입니다. webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
옵션이 아닙니다.
트릭은 WebView
내 GL보기와 HTML 오버레이 사이에 두 번째 (빈)를 두는 것 입니다. 이것은 dummyWebView
SW 모드에서 렌더링하라고 지시했으며 이제 HTML 오버레이가 HW에서 부드럽게 렌더링되고 더 이상 검은 색 깜박임이 없습니다.
이것이 My Acer Iconia A700 이외의 다른 장치에서 작동하는지는 모르겠지만이 문제로 누군가를 도울 수 있기를 바랍니다.
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
RelativeLayout layout = new RelativeLayout(getApplication());
setContentView(layout);
MyGlView glView = new MyGlView(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
dummyWebView = new WebView(this);
dummyWebView.setLayoutParams(params);
dummyWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
dummyWebView.loadData("", "text/plain", "utf8");
dummyWebView.setBackgroundColor(0x00000000);
webView = new WebView(this);
webView.setLayoutParams(params);
webView.loadUrl("http://10.0.21.254:5984/ui/index.html");
webView.setBackgroundColor(0x00000000);
layout.addView(glView);
layout.addView(dummyWebView);
layout.addView(webView);
}
}