这适用于AIR 3.1上的Flex 4.6。我在AIR 3.5中也遇到了同样的问题。Flex 4.6 Mobile - TextArea和TextInput皮肤问题
在我目前正在对我有问题与textinputs和文字区域停留视图之间的屏幕上的文本应用程序,同时滚动等
我看到建议的修正是使用了不同的skinClass的TextInput的和文本区域的这样:
skinClass="spark.skins.spark.TextAreaSkin"
Adobe Flex Mobile - TextArea refuses to scroll on Android, StageWebView won't scroll at all是这些建议使用TextAreaSkin中的一个例子。
但是,我现在有一些相当重大的问题,当使用此和等效的TextInputSkins。
在iPad 2(iOS6)上,我们使用的软键盘不会出现在我们的三星Galaxy平板电脑(Android 4)上,键盘只允许输入数字和某些特殊字符(它也允许大写字母如果我按住一个特定的字母,但没有正常输入时)。
我发现了另一个类似于我的问题的提及: http://forums.adobe.com/message/4078890但它没有解决方案。
奇怪的是,我的Android(欲望)手机上的一切工作正常,或者如果我在三星Galaxy平板电脑上使用不同的键盘应用程序(Swiftkey),那么也可以正常工作。
我已经在我们的其他应用程序中测试过这个,并且在那个应用程序中遇到同样的问题。 (我唯一需要为该应用使用皮肤的情况是不可编辑的textareas - 我从未看到我在该应用中提到的第一个问题)。
编辑:我创建了一个相当基本的演示与几个视图,我已经转载了大部分我遇到的问题。这是一款使用分视浏览器的移动应用程序。 主应用程序文件:
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<!-- Split View Navigator used for Tablet for panelled functionality -->
<s:SplitViewNavigator width="100%" height="100%">
<s:layout.landscape>
<s:HorizontalLayout />
</s:layout.landscape>
<s:layout.portrait>
<s:VerticalLayout />
</s:layout.portrait>
<s:ViewNavigator width.landscape="35%" height.landscape="100%"
width.portrait="100%" height.portrait="30%"
firstView="views.TestView" />
<s:ViewNavigator width="100%" height="100%" height.portrait="100%"
firstView="views.TestFormHomeView" />
</s:SplitViewNavigator>
</s:Application>
景观:
<fx:Script>
<![CDATA[
protected function buttonClick():void
{
navigator.pushView(TestView2);
}
protected function listClick():void
{
navigator.popView();
navigator.pushView(TestFormHomeView);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Scroller width="100%" height="100%">
<s:HGroup width="100%">
<s:List width="50%" click="listClick()">
<s:ArrayCollection>
<fx:String>Test1</fx:String>
<fx:String>Test2</fx:String>
<fx:String>Test3</fx:String>
<fx:String>Test4</fx:String>
<fx:String>Test5</fx:String>
</s:ArrayCollection>
</s:List>
<s:VGroup width="50%">
<s:TextArea id="testing" skinClass="spark.skins.spark.TextAreaSkin" />
<s:TextArea id="testing2" />
<s:Button click="buttonClick()" label="Next Screen" />
</s:VGroup>
</s:HGroup>
</s:Scroller>
</s:View>
TestView:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="TestView">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:TextArea id="testing2" />
</s:View>
TestView2:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="TestView2">
<fx:Script>
<![CDATA[
protected function goBack():void
{
navigator.popView();
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:TextArea id="testing2" />
<s:Button label="Back" click="goBack()" />
</s:View>
上HomeView主文本区域应用了的skinClass这对我来说有以下问题:
的iOS(iPad2的):无softKeyboard可言。
的Android(三星Galaxy Tab):键盘出现,但只允许数字和某些特殊字符
我已经无法重现的问题(没有其他的skinClass)与文本停留在屏幕上,但在Android如果您在“TestView”的文本框中键入内容并单击Next Screen,则在视图加载后(直到您单击文本框),TestView中的文本将消失。如果屏幕足够长,滚动文本框会导致很多问题,如果您不使用其他skinclass。
分享一些代码来复制问题。您可能还需要指定确切的设备;和他们安装的操作系统加上你的Flex版本(4.6我假设从标签)和你使用的AIR版本。 – JeffryHouser
@ www.Flextras.com我已经在标签和标题中加入了flex版本,但我现在也将它添加到了帖子中。另外,我现在添加了操作系统版本的设备。但是,我在各个平台上发现重大问题的事实表明,这不是一个操作系统问题。我已经包含了一个快速代码示例,但除非我提供了整个应用程序= - /,否则我可以提供的内容并不多。 – Rjs37
我应该说“Runnable”代码来复制这个问题。我可以剪切和粘贴的东西和编译。解决问题的最小可行样本。我没有遇到你提到的任何问题;我已经在iOS和Android的多个版本中使用了TextInputs。您可以考虑将您的AIR版本更新为最新版本,并查看是否可以解决问题。 – JeffryHouser