例如,假设您有一个具有登录页面的应用程序,并且您希望此登录页面在用户未登录时显示登录按钮,或者如果用户确实已登录则在文本视图中显示用户名称英寸
是否必须根据登录条件创建两个稍微不同的布局来充气?或者有没有办法在运行时决定在给定应用程序状态的情况下哪个布局组件是必要的?
如果后者是真的,你怎么做?
答案 0 :(得分:2)
如果只是显示TextView
而不是Button
那么简单,为什么不根据您的具体情况在每个setVisibilty()
上使用{{1}}。如果你有一个更复杂的布局,那么我建议有两个单独的布局和膨胀正确的布局。或者@ataulm建议使用单独的活动
答案 1 :(得分:0)
前者是真的。
Android提供了一种在某些device configurations下提供不同布局的方法,但不会超出此范围。
在这两种情况下,您仍然需要创建多个布局资源(无论您是在运行时自行充气,检查条件后,还是希望系统选择正确的布局)。
根据UI更改的范围,可能不仅要创建两个布局,还要创建两个Activity
,每个州一个,其中(setContentView(...)
之前,以避免不必要的加载)检查您的情况,并在需要时打开其他活动。这样,一个州的商业逻辑就不会与另一个州混合在一起。