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]<mailto:[email protected]> To: [email protected]<mailto:[email protected]>; [email protected]<mailto:[email protected]> CC: [email protected]<mailto:[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<http://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]<mailto:[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]<mailto:[email protected]> To: [email protected]<mailto:[email protected]>; [email protected]<mailto:[email protected]> CC: [email protected]<mailto:[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]<mailto:[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]<mailto:[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
