Android 在Xamarin表单中设置元素的资源名称
我希望能够引用将Xamarin表单应用程序编译到Android中后创建的元素Android 在Xamarin表单中设置元素的资源名称,android,xamarin,xamarin.forms,xamarin.android,Android,Xamarin,Xamarin.forms,Xamarin.android,我希望能够引用将Xamarin表单应用程序编译到Android中后创建的元素 示例代码: 从我所看到的元素生成方式如下: android:id/content/RelativeLayout[0]/PlatformRenderer[0]/NavigationPageRenderer[0]/PageContainer[0]/PageRenderer[0]/Platform_DefaultRenderer[0]/Platform_DefaultRenderer[1]/Entry
示例代码:
从我所看到的元素生成方式如下:
android:id/content/RelativeLayout[0]/PlatformRenderer[0]/NavigationPageRenderer[0]/PageContainer[0]/PageRenderer[0]/Platform_DefaultRenderer[0]/Platform_DefaultRenderer[1]/EntryRenderer[0]/FormsEditText[0]
android:id/content/RelativeLayout[0]/PlatformRenderer[0]/NavigationPageRenderer[0]/PageContainer[0]/PageRenderer[0]/Platform_DefaultRenderer[0]/Platform_DefaultRenderer[1]/EntryRenderer[1]/FormsEditText[0]
android:id/content/RelativeLayout[0]/PlatformRenderer[0]/NavigationPageRenderer[0]/PageContainer[0]/PageRenderer[0]/Platform_DefaultRenderer[0]/Platform_DefaultRenderer[1]/ButtonRenderer[2]/AppCompatButton[0]
这是不可用的,我只希望能够将资源命名为:
UsernameEntry
PasswordEntry
LoginButton
然后引用它们
用例:
- 火基测试:
- 游戏商店发布前报告:
我觉得这应该很容易做到,但我花了一天的大部分时间去寻找,没有发现任何帮助是值得感激的。这些Android小部件/控件是动态创建的(在本例中通过表单的XAML),而不是从正在膨胀的AXML布局中创建的,因此没有需要解析的布局,也没有分配的资源名称(未分配R.*常数) 启动前登录凭据需要资源名称而不是ID。仅供参考:可以在运行时分配小部件ID(即,通过该控件的自定义表单呈现程序),但在这种情况下,这没有帮助,因为您需要基于字符串的资源名称 如果您的表单应用程序需要演示/测试凭据,并且您知道如何使用Play Store预报告,则您必须继续使用自动测试爬虫,并提供一个自定义的机器人脚本来运行测试 注意:
您可以在Xamarin.Android项目中使用一些虚构的资源名称创建一个虚拟布局,因此在构建时,这些名称在自动生成的C#resource.Id和Java R.Id文件中被分配int-Id,然后在运行时(在本机代码中,通过DI/IoC/Forms的Renderer/…)获取基于表单登录页面的Android小部件,并使用从虚拟布局的资源字符串名称创建的ID分配这些用户名/密码小部件的ID属性。我真的希望不是这样:(@JesseWhitham我相信有几种解决方案可以为Xamarin Forms()中的发布前报告设置资源名称: