Added nativeView.setLayerType(android.view.View.LAYER_TYPE_HARDWARE, null); for complex backgrounds on API Level > 18. (Resolves #1223)

This commit is contained in:
Rossen Hristov
2015-12-12 15:33:04 +02:00
parent f732224248
commit 1c59f7706d
2 changed files with 9 additions and 6 deletions

View File

@ -26,9 +26,9 @@ export function pageLoaded(args: observable.EventData) {
export function onSetOpacity(args: observable.EventData) {
var newOpacity = opacitySlider.value / 100;
container._eachChildView((view: view.View) => {
if (view.android) {
view.android.setLayerType(android.view.View.LAYER_TYPE_HARDWARE, null);
}
//if (view.android) {
// view.android.setLayerType(android.view.View.LAYER_TYPE_HARDWARE, null);
//}
view.opacity = newOpacity;
return true;
});
@ -39,9 +39,9 @@ export function onAnimateOpacity(args: observable.EventData) {
var newOpacity = opacitySlider.value / 100;
var animationDefinitions = new Array<animationModule.AnimationDefinition>();
container._eachChildView((view: view.View) => {
if (view.android) {
view.android.setLayerType(android.view.View.LAYER_TYPE_HARDWARE, null);
}
//if (view.android) {
// view.android.setLayerType(android.view.View.LAYER_TYPE_HARDWARE, null);
//}
animationDefinitions.push({
target: view,
opacity: newOpacity,

View File

@ -60,6 +60,9 @@ function onBackgroundOrBorderPropertyChanged(v: view.View) {
// http://developer.android.com/guide/topics/graphics/hardware-accel.html
nativeView.setLayerType(android.view.View.LAYER_TYPE_SOFTWARE, null);
}
else {
nativeView.setLayerType(android.view.View.LAYER_TYPE_HARDWARE, null);
}
}
else {
// reset the value with the default native value