簡體   English   中英

Cordova飛濺屏幕改變了android上的微調顏色

[英]Cordova splash screen change spinner color on android

我在iOS上找到了一些改變微調器顏色的解決方案:

如何在iOS phonegap應用程序中顯示自定義Splash Screen Spinner(即帶有白色的微調器)?

在cordova-plugin-splashscreen中更改Splash Screen Spinner的顏色

...以及其他幾個或多或少相關的問題,但沒有什么可以改變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> 

保存在drawable文件夾中。

然后在您的java代碼中添加它

progressBar.setIndeterminateDrawable(R.drawable.customspinner);
                          or
progressBar.setBackground(R.drawable.customspinner);

在項目config.xml文件中添加此行。

<preference name="TopActivityIndicator" value="white"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM