有谁知道如何修改Cordova闪屏微调器的位置?我检查了文档,找不到任何信息。
答案 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
答案 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);