0
假设我定义了两个同名的布局,并将其中一个放置在“layout-land”目录中。在Android中为不同的屏幕方向管理不同的视图/小部件?
如果两个布局文件包含相同的视图(和视图ID),那么我的片段/活动将会找到它们,并且在那里没有问题。
但是,我面临的情况是纵向和横向设计真的不同,我需要更改每个布局文件中实现的自定义视图/控件类型。
如果视图ID或视图类型不同或未找到,则可能导致NullPointer异常或ClassCast异常。
我不喜欢在我的片段代码中检查类型或空值的想法,我认为必须有更好的方法来做到这一点,但我还没有找到它。
有没有人知道一个“酷”或至少更优雅的方式来实现这一目标?
谢谢!
你好乔希,请阅读我的问题描述。我知道布局资源处理,我需要知道如何管理布局文件之间视图和小部件完全不同的情况。 –
由于Android在您更改设备状态时完全创建了新的活动,您可能会倾听设备方向的更改并启动新的活动。 http://stackoverflow.com/questions/5726657/how-to-detect-orientation-change-in-layout-in-android看到这个线程。根据方向的不同,您可以启动整个新活动或使用适当的活动替换片段。这应该有助于摆脱你的问题。 –