Cordova闪屏改变了微调器的位置?

时间:2016-04-20 05:59:27

标签: javascript ios cordova spinner splash-screen

有谁知道如何修改Cordova闪屏微调器的位置?我检查了文档,找不到任何信息。

3 个答案:

答案 0 :(得分:7)

对于android,类似的修复程序在

platforms/android/src/org/apache/cordova/splashscreen/SplashScreen.java

spinnerStart()中的

更改Gravity值和RelativeLayout规则。

e.g。将微调器放在底部:

更改

centeredLayout.setGravity(Gravity.CENTER);

centeredLayout.setGravity(Gravity.BOTTOM);

并更改

layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);

layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);

列出RelativeLayout选项:https://developer.android.com/reference/android/widget/RelativeLayout.html

重力选项列表: https://developer.android.com/reference/android/view/Gravity.html

enter image description here

答案 1 :(得分:5)

好的我想通了,不得不手动编辑iOS插件文件" CDVSplashScreen.m"在里面找到" / plugins / cordova-plugin-splashscreen / src / ios"。

_activityView.center = CGPointMake(parentView.bounds.size.width / 2, parentView.bounds.size.height / 2 + 75);

这样做会使微调器从屏幕中心向下75像素。所以" + 75"走向屏幕的底部" -75"会做相反的事情。

希望这可以帮助其他人(但不是很难弄清楚)。

此外,如果您想更改微调器的颜色。有3个选项可供选择(不知道如何更改颜色)。

灰色(默认 - 搜索此行):

UIActivityIndicatorViewStyle topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray

白色

UIActivityIndicatorViewStyle topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhite; 

<强> whiteLarge

UIActivityIndicatorViewStyle topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhiteLarge

在文件中找到:

/*
 * The Activity View is the top spinning throbber in the status/battery bar. We init it with the default Grey Style.
 *
 *     whiteLarge = UIActivityIndicatorViewStyleWhiteLarge
 *     white      = UIActivityIndicatorViewStyleWhite
 *     gray       = UIActivityIndicatorViewStyleGray
 *
 */

答案 2 :(得分:1)

我可以用不同的方式为Android解决这个问题,不幸的是Matt的解决方案对我不起作用。

所以我所做的就是在“spinnerStart”方法中为进度条使用原生填充方法。 如果有人对我的解决方案感兴趣,我会从屏幕顶部为ios和android提供75%的填充(也集成了sputn1k的解决方案)。 当您需要不同的填充时,您可以根据需要进行分叉并进一步改进

https://github.com/kaya18/cordova-plugin-splashscreen/

            final WindowManager win = (WindowManager)webView.getContext().getSystemService(Context.WINDOW_SERVICE);
            final Display display = win.getDefaultDisplay();
            final Point size = new Point();
            display.getRealSize(size);

            // add padding to (top) spinner
            progressBar.setPadding(0, (size.y / 2), 0, 0);
            centeredLayout.addView(progressBar);