C# 移动开发 MasterDetailPage 关闭时报错问题

2017-05-06 02:39

    至上次发表的 MasterDetailPage界面做主App,折腾10天,终于知道问题所在..

    泪奔的是解决这个问题只要一句代码

 在MainActivity.cs里

[Activity(Label = "INFOnDoor333",
  MainLauncher = true,
  Icon = "@drawable/icon",
  Theme = "@style/MainTheme",

//插入下面这句
  ScreenOrientation = ScreenOrientation.Portrait,

  ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]

public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity

 (以下废话,可忽略)

根据搜索

C# 移动开发 MasterDetailPage 关闭时报错问题0

Portrait始终纵向显示,不会触发某些事件

ScreenOrientation 的默认值在关闭时会提示异常,(⊙o⊙)…

虽然粗略学了生存周期,还是不太明白为什么默认就会导致异常。

但找问题花的精力真是够了。

最开始解决想到是下载了很多MasterDetailPage示例的,包括官网的

下载了多少就不说了,反正国内国外的都搜刮了遍。

先看了官网的,不会报错,有戏,但是这标题不能隐藏什么鬼?

C# 移动开发 MasterDetailPage 关闭时报错问题1

对比下了代码,发现MainActivity里继承的不一样:

//官网的是
public class MainActivity : Xamarin.Forms.Platform.Android.FormsApplicationActivity
//vs2017新建的是
public class MainActivity :Xamarin.Forms.Platform.Android.FormsAppCompatActivity  

 

百度这个似乎是皮肤,那么说官网的是旧版本创建的,抛弃。

那么百度 FormsAppCompatActivity 看看有什么收获,还真的有

https://blog.xamarin.com/material-design-for-your-xamarin-forms-android-apps/

并且关闭不会报错,结果是看大神(su)我看得都要吐了

C# 移动开发 MasterDetailPage 关闭时报错问题2

 一步步解析(删除!)判断是哪部分不太导致的,也做了最坏的打算,用这个示例上改做自己的项目。

  说起来只有一些字,大概比较健忘,毕竟花了十天才明白问题所在,当然期间有各种折腾其它事,要填的坑多着了。

 

 

——除博客园外所有网站均为侵权发布,原网址:

https://home.cnblogs.com/u/zlyxm/