在Xamarin.Forms中使用Android Oreo API时TextView方法报错求助
解决Xamarin Android中TextView.SetJustificationMode未定义的问题
嘿,我之前在做Xamarin自定义Label渲染器时也碰到过一模一样的问题,给你几个靠谱的解决方向:
确认项目的Android目标框架版本
虽然你已经安装了API26/27,但你的项目可能还没把编译和目标版本切换过去。打开你的Xamarin Android项目属性,找到“应用程序”标签页:- 把“Compile using Android version (Target Framework)”设置为Android 8.0 (API 26) 或更高版本
- 确保“Target Android version (AndroidManifest.xml)”也对应设置为API26或以上
修正代码中的枚举引用
你代码里的JUSTIFICATION_MODE_INTER_WORD在Xamarin的绑定中是作为枚举值存在的,不是直接的常量。正确的写法应该是引用Android.Text.JustificationMode.InterWord:if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.O) { textview.SetJustificationMode(Android.Text.JustificationMode.InterWord); }另外要确保你的
textview变量确实是Android.Widget.TextView类型,没有引用错其他命名空间下的TextView类。清理重建项目,清除VS缓存
Visual Studio有时候会因为缓存问题导致API识别异常,试试这几步:- 右键解决方案,选择“清理解决方案”
- 手动删除项目下的
bin和obj文件夹 - 重新生成解决方案
检查Xamarin.Android的版本
确保你使用的Xamarin.Android NuGet包版本是支持API26的(至少8.0.0.0及以上)。可以在NuGet包管理器里查看并更新到最新兼容版本。
内容的提问来源于stack exchange,提问作者Tek Mun
相关产品推荐
相关产品推荐

