【发布时间】:2019-05-31 21:22:22
【问题描述】:
我正在测试一个示例应用程序,我得到了运行时异常:Android.Views.InflateException: <Timeout exceeded getting exception details> 在线
SetContentView(Resource.Layout.Main);
问题是Main.axml中的按钮:
<ImageButton
android:id="@+id/playButton"
android:layout_height="@dimen/playButton_size"
android:layout_width="@dimen/playButton_size"
android:src="@drawable/ic_play_circle_outline_dark_blue_48dp"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:background="@android:color/transparent"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
如果我将上面的 @dimen/playButton_size 替换为来自 Resources\values-sw320dp\dimens.xml 的 64dp,则错误已解决。为什么?这是完整的dimens.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<dimen name="playButton_size">64dp</dimen>
</resources>
【问题讨论】:
-
您是否删除了
obj和bin文件夹,然后重建此项目?如果运行正常。我在我的项目中测试了你的代码,它可以正常运行,你能提供一个简单的演示来重现这个问题吗? -
@LeonLu-MSFT 我从这里(github.com/jonashendrickx/rgrfm_xamarin) 克隆了它,同时为我自己的应用程序寻找使用媒体播放器的示例。我不担心修复代码,我只是对为什么在我编辑该行之前它不起作用感兴趣。
-
我在我的电脑上测试,这个项目可以正常运行,imgur.com/a/SSG9tb1,你是用Hyper-V还是HAXM加速模拟器?根据您的错误信息和我的测试结果,我认为可能与编译器有关的问题太迟无法编译
-
@LeonLu 我使用 Hyper-V 但是奇怪的是,当我禁用 hyper-v 并重新启动以在运行在被黑 vmware 映像中运行的 mac 和 ios 上进行测试时,android 虚拟如果禁用 Hyper-v,虚拟机仍会启动 android 映像,这没有任何意义。我不知道怎么做。
-
Hyper-V是用来加速模拟器的,如果你禁用它,模拟器可以正常运行,我的意思是如果编译器第一次不能正常编译,你可以删除
obj和bin文件夹,然后让编译器完全构建这个项目。
标签: xamarin.android