I can confirm that XWalkView.load() is required after 
XWalkView.setBackgroundColor(int)
the functional test code:
public class MainActivity extends ActionBarActivity {

    private XWalkView xWalkWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        xWalkWebView=(XWalkView)findViewById(R.id.xwalkview);

        // *** TEST ***
        xWalkWebView.setBackgroundColor(Color.BLUE);
        xWalkWebView.load(null,"<html><body></body></html>");
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (xWalkWebView != null) {
            xWalkWebView.pauseTimers();
            xWalkWebView.onHide();
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        if (xWalkWebView != null) {
            xWalkWebView.resumeTimers();
            xWalkWebView.onShow();
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (xWalkWebView != null) {
            xWalkWebView.onDestroy();
        }
    }
}
From: [email protected]
To: [email protected]; [email protected]
CC: [email protected]
Subject: RE: [Crosswalk-help]  How to set the background color ?
Date: Fri, 17 Jul 2015 02:48:31 +0000









I tried your way, define XWalkView in layout xml. Then findViewById 
/setBackgroundColor/load, it works.
In my original test, I create XWalkView by new XWalkView, then add it into a 
RelativeLayout, setBackgroundColor/load, it works.
 
Er, Didn’t you call load? If you didn’t load any page, this set will not work.

Indeed, the webpage has no background if you didn’t load it.
So you should load it.
 

Regards,
Xing

 


From: Alexander Biemann [mailto:[email protected]]


Sent: Friday, July 17, 2015 1:34 AM

To: Xu, Xing; [email protected]

Cc: George Tonev

Subject: RE: [Crosswalk-help] How to set the background color ?


 

I have attempted to use

 org.xwalk:xwalk_core_library:13.42.319.11 ,


 org.xwalk:xwalk_core_library:13.42.319.12, and 


 org.xwalk:xwalk_core_library:14.43.343.17


 


However, the code below is not able to set the background color... and I'm 
trying in multiple places.


What is it about this code that fails to set the background color ?


How did you set the background color ?


Note: I'm not loading the URL yet, so CSS isn't even on my radar yet.


 


package com.zumobi.xwalkbackgroundtest;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;

import org.xwalk.core.XWalkView;


public class MainActivity extends ActionBarActivity {

    private XWalkView xWalkWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        xWalkWebView=(XWalkView)findViewById(R.id.xwalkview);

        // *** TEST ***
        xWalkWebView.setBackgroundColor(Color.BLUE);

        // *** TEST ***
        xWalkWebView.post(new Runnable() {
            @Override
            public void run() {
                xWalkWebView.setBackgroundColor(Color.BLUE);
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        
        // *** TEST ***
        xWalkWebView.post(new Runnable() {
            @Override
            public void run() {
                xWalkWebView.setBackgroundColor(Color.BLUE);
            }
        });
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (xWalkWebView != null) {
            xWalkWebView.pauseTimers();
            xWalkWebView.onHide();
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        if (xWalkWebView != null) {
            xWalkWebView.resumeTimers();
            xWalkWebView.onShow();
        }

        // *** TEST ***
        xWalkWebView.post(new Runnable() {
            @Override
            public void run() {
                xWalkWebView.setBackgroundColor(Color.BLUE);
            }
        });
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (xWalkWebView != null) {
            xWalkWebView.onDestroy();
        }
    }
}


 


 


 


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android";
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:background="#FF0000">

    <org.xwalk.core.XWalkView
        android:id="@+id/xwalkview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>


 


 




From:
[email protected]

To: [email protected]; 
[email protected]

CC: [email protected]

Subject: RE: [Crosswalk-help] How to set the background color ?

Date: Thu, 16 Jul 2015 07:20:40 +0000

I tried  “xWalkView.setBackgroundColor(Color.BLUE);” with latest crosswalk,  it 
works.
BTW, we didn’t use android::background in the layout file to set this color. I 
just raise this as a feature:
https://crosswalk-project.org/jira/browse/XWALK-4628.
 
Here are some hints about  background color:
1), Some page has its own background.
If  open
www.intel.com, you will see the
 color set by setBackgroundColor a fraction of second.  But soon this will be 
covered by the whole page.
If open
http://www.baidu.com/, I can
 see the BLUE even when page loaded.
 
2),  white screen flick
If add  “XWalkPreferences.setValue(XWalkPreferences.ANIMATABLE_XWALK_VIEW, 
true);”   there will be a white screen flick when you switch from background to 
front.
If add  “XWalkPreferences.setValue(XWalkPreferences.ANIMATABLE_XWALK_VIEW, 
false);” (this is the default setting for latest crosswalk)  , no white screen 
observed.
 
 

Regards,
Xing

 


From: Alexander Biemann [mailto:[email protected]]


Sent: Thursday, July 16, 2015 11:20 AM

To: Xu, Xing; 
[email protected]

Cc: George Tonev

Subject: RE: [Crosswalk-help] How to set the background color ?


 

I am using 
xwalk_core_library:14.43.343.17




From: 
[email protected]

To: [email protected]; 
[email protected]

CC: [email protected]

Subject: RE: [Crosswalk-help] How to set the background color ?

Date: Thu, 16 Jul 2015 00:28:43 +0000

Hi,  which crosswalk are you using?
As I know,  this is a fixed issue. For canary version, it is fixed since 
2015.feb,9.  For crosswalk 12, since 2015.feb,23. 

You can check it here:  https://crosswalk-project.org/jira/browse/XWALK-1910.
 
 

Regards,
Xing

 


From: Crosswalk-help [mailto:[email protected]]
On Behalf Of Alexander Biemann

Sent: Thursday, July 16, 2015 7:39 AM

To: [email protected]

Cc: George Tonev

Subject: [Crosswalk-help] How to set the background color ?


 

Dear Crosswalk team,
 
I would like to customize the background color of the XWalkView, however, this 
seems impossible / non-functional via the setBackgroundColor() API or via XML
Please see below for my implementation details…
 
As you can see, I would like to have the background set to Blue, however, it
always shows as white. Screenshot is attached.
 
What do I need to do to be able to set the background color of the XWalkView ?
My Goal is to absolutely avoid the initial white screen, even for a split 
second. Once the HTML loads the background color no longer matters.
 
 
 
Build.gradle
 
apply
plugin:
'com.android.application'
 
android {
    compileSdkVersion
22
   
buildToolsVersion
"22.0.1"
 
   
defaultConfig {
        applicationId
"com.zumobi.xwalkbackgroundtest"
       
minSdkVersion
16
       
targetSdkVersion
22
       
versionCode
1
       
versionName
"1.0"
   
}
    buildTypes {
        release {
            minifyEnabled
false
           
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
       
}
    }
}
 
dependencies {
    compile fileTree(dir:
'libs',
include: ['*.jar'])
    compile
'com.android.support:appcompat-v7:22.2.0'
   
compile
'org.xwalk:xwalk_core_library:14.43.343.17'
}
 
Layout XML
 
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android";
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
android:paddingLeft="@dimen/activity_horizontal_margin"
   
android:paddingRight="@dimen/activity_horizontal_margin"
   
android:paddingTop="@dimen/activity_vertical_margin"
   
android:paddingBottom="@dimen/activity_vertical_margin"
   
android:background="#FF0000">
 
    <org.xwalk.core.XWalkView
       
android:id="@+id/xwalkview"
       
android:layout_width="match_parent"
       
android:layout_height="match_parent"
       
android:background="#0000FF"/>
 
</RelativeLayout>
 
Java
 
public class
MainActivity
extends
ActionBarActivity {
 
   
private
XWalkView
xWalkWebView;
 
   
@Override
   
protected void
onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
       
xWalkWebView=(XWalkView)findViewById(R.id.xwalkview);
 
       
// test
       
xWalkWebView.setBackgroundColor(Color.BLUE);
 
       
// test
       
xWalkWebView.post(new
Runnable() {
           
@Override
           
public void
run() {
               
xWalkWebView.setBackgroundColor(Color.BLUE);
            }
        });
    }
 
   
@Override
   
protected void
onPause() {
       
super.onPause();
       
if
(xWalkWebView
!=
null) {
           
xWalkWebView.pauseTimers();
           
xWalkWebView.onHide();
        }
    }
 
   
@Override
   
protected void
onResume() {
       
super.onResume();
       
if
(xWalkWebView
!=
null) {
           
xWalkWebView.resumeTimers();
           
xWalkWebView.onShow();
        }
    }
 
   
@Override
   
protected void
onDestroy() {
       
super.onDestroy();
       
if
(xWalkWebView
!=
null) {
           
xWalkWebView.onDestroy();
        }
    }
}
 
 
 
 
Alexander Biemann / Sr. Android
 Software Engineer
[email protected]
1525 4th Ave. Ste. 800, Seattle, WA 98101
Zumobi.com
  








                                          
_______________________________________________
Crosswalk-help mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-help

Reply via email to