Cordova 初始屏幕更改 android 上的微调器颜色
Cordova splash screen change spinner color on android
我在 iOS 上找到了一些更改微调器颜色的解决方案:
How to show custom Splash Screen Spinner (i.e spinner with white color) in iOS phonegap app?
Change Color of Splash Screen Spinner in cordova-plugin-splashscreen
...和其他几个或多或少相关的问题,但不会改变 android 上启动画面的加载微调器的颜色。我的闪屏是蓝色的,微调器是天蓝色的——不是很明显——我想把它改成白色。
我正在使用 https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/index.html 中的 cordova-plugin-splashscreen
,我使用 cordova build android
在本地构建我的应用程序,并设法在我的设备上部署我的代码。但是没有运气改变那个微调器的颜色。
创建 ProgressBar 对象时,我认为要编辑的代码在 platforms/android/src/org/apache/cordova/splashscreen/Splashscreen.java
中:
private void spinnerStart() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
spinnerStop();
spinnerDialog = new ProgressDialog(webView.getContext());
spinnerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
spinnerDialog = null;
}
});
spinnerDialog.setCancelable(false);
spinnerDialog.setIndeterminate(true);
RelativeLayout centeredLayout = new RelativeLayout(cordova.getActivity());
centeredLayout.setGravity(Gravity.CENTER);
centeredLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
/* The following line here: */
ProgressBar progressBar = new ProgressBar(webView.getContext());
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
progressBar.setLayoutParams(layoutParams);
centeredLayout.addView(progressBar);
spinnerDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
spinnerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
spinnerDialog.show();
spinnerDialog.setContentView(centeredLayout);
}
});
}
我不知道 android 应用程序编程(尽管我找到了很多示例,但我不熟悉如何从资源文件等在 xml 中构建视图...并且几乎找不到任何描述如何向 cordova 项目添加资源的文档)。
我使用 cordova,这样我就不必构建 android 本机应用程序,并且没有经过培训,这部分变得非常令人沮丧 - 有人找到解决方案了吗?
customspinner.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
android:toDegrees="360">
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<size android:width="76dip" android:height="76dip" />
<gradient android:type="sweep" android:useLevel="false"
android:startColor="yourcolor"
android:endColor="yourcolor"
android:angle="0"
/>
</shape>
</rotate>
保存在可绘制文件夹中。
然后将其添加到您的 java 代码中
progressBar.setIndeterminateDrawable(R.drawable.customspinner);
or
progressBar.setBackground(R.drawable.customspinner);
在您的项目 config.xml 文件中添加这一行。
<preference name="TopActivityIndicator" value="white"/>
我在 iOS 上找到了一些更改微调器颜色的解决方案:
How to show custom Splash Screen Spinner (i.e spinner with white color) in iOS phonegap app?
Change Color of Splash Screen Spinner in cordova-plugin-splashscreen
...和其他几个或多或少相关的问题,但不会改变 android 上启动画面的加载微调器的颜色。我的闪屏是蓝色的,微调器是天蓝色的——不是很明显——我想把它改成白色。
我正在使用 https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/index.html 中的 cordova-plugin-splashscreen
,我使用 cordova build android
在本地构建我的应用程序,并设法在我的设备上部署我的代码。但是没有运气改变那个微调器的颜色。
创建 ProgressBar 对象时,我认为要编辑的代码在 platforms/android/src/org/apache/cordova/splashscreen/Splashscreen.java
中:
private void spinnerStart() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
spinnerStop();
spinnerDialog = new ProgressDialog(webView.getContext());
spinnerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
spinnerDialog = null;
}
});
spinnerDialog.setCancelable(false);
spinnerDialog.setIndeterminate(true);
RelativeLayout centeredLayout = new RelativeLayout(cordova.getActivity());
centeredLayout.setGravity(Gravity.CENTER);
centeredLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
/* The following line here: */
ProgressBar progressBar = new ProgressBar(webView.getContext());
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
progressBar.setLayoutParams(layoutParams);
centeredLayout.addView(progressBar);
spinnerDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
spinnerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
spinnerDialog.show();
spinnerDialog.setContentView(centeredLayout);
}
});
}
我不知道 android 应用程序编程(尽管我找到了很多示例,但我不熟悉如何从资源文件等在 xml 中构建视图...并且几乎找不到任何描述如何向 cordova 项目添加资源的文档)。
我使用 cordova,这样我就不必构建 android 本机应用程序,并且没有经过培训,这部分变得非常令人沮丧 - 有人找到解决方案了吗?
customspinner.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
android:toDegrees="360">
<shape android:shape="ring" android:innerRadiusRatio="3"
android:thicknessRatio="8" android:useLevel="false">
<size android:width="76dip" android:height="76dip" />
<gradient android:type="sweep" android:useLevel="false"
android:startColor="yourcolor"
android:endColor="yourcolor"
android:angle="0"
/>
</shape>
</rotate>
保存在可绘制文件夹中。
然后将其添加到您的 java 代码中
progressBar.setIndeterminateDrawable(R.drawable.customspinner);
or
progressBar.setBackground(R.drawable.customspinner);
在您的项目 config.xml 文件中添加这一行。
<preference name="TopActivityIndicator" value="white"/>