覆盖 Visual Studio Tools for Apache Cordova config.xml 文件中的 windowSoftInputMode 首选项
Posted
技术标签:
【中文标题】覆盖 Visual Studio Tools for Apache Cordova config.xml 文件中的 windowSoftInputMode 首选项【英文标题】:Overwriting windowSoftInputMode preference in Visual Studio Tools for Apache Cordova config.xml file 【发布时间】:2015-02-05 19:19:13 【问题描述】:我遇到了一个问题,android 软键盘出现在页面上的最后一个 edittext 字段上。建议的解决方案包括更改 windowSoftInputMode,因此我在 config.xml 文件中添加了以下首选项:
<preference name="android-windowSoftInputMode" value="adjustResize|stateHidden" />
但是,在我构建之后,发布文件夹中的 AndroidManifest.cordova.xml 文件的 windowSoftInputMode 始终为“adjustResize”,因此在我运行应用程序时没有任何变化。
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="CordovaApp" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
有谁知道这个设置是否可以被覆盖,如果可以,这样做的机制是什么?我正在使用适用于 Apache Cordova CTP3 的 Visual Studio (2013 Update 4) 工具。
【问题讨论】:
【参考方案1】:我以前也遇到过类似的问题,我是这样解决的。
在 res\native\android 文件夹中创建一个自定义 AndroidManifest.xml 文件。当您为 Android 平台进行构建时,此文件中的所有信息都将被复制到调试文件夹(并将覆盖 config.xml 文件中包含的内容)。
这是 MSDN 文档的链接,其中包含有关不同平台的自定义配置的更多信息:
https://msdn.microsoft.com/en-us/library/dn757053.aspx
【讨论】:
以上是关于覆盖 Visual Studio Tools for Apache Cordova config.xml 文件中的 windowSoftInputMode 首选项的主要内容,如果未能解决你的问题,请参考以下文章
配置 Visual Studio Tools for Apache Cordova
Unity Tools for Visual Studio 功能