【问题标题】:Should I make a new layout?我应该做一个新的布局吗?
【发布时间】:2016-05-01 06:17:25
【问题描述】:

用户达到一定分数后,我不想在用户名旁边显示奖牌。以编程方式执行此操作将使图像在用户离开应用程序后消失。如何在活动后在布局上完成永久的medal。我是否必须创建两种布局,一种有奖牌,一种没有奖牌,并在if-statement 中使用setContentViewonCreate(); 中?

if (userHasMedal){

setContentView(R.layout.medal)
}else{
setContentView(R.layout.noMedal)
}

这是我能做到的唯一方法吗?创建一个完全不同的布局只是为了显示更多图片似乎很愚蠢......

我确信有一种简单的方法可以做到这一点,但我不知道除了可能创建两个布局之外还能做什么。

感谢您的帮助,

鲁基尔

【问题讨论】:

  • 您目前如何保存用户的分数?如果他们离开应用程序,他们是否必须重新启动?
  • @GeorgeMulligan 共享首选项。
  • 因此,将分数保存到共享首选项中,当您返回应用程序时,如果用户的分数超过奖牌阈值,则会显示图像。无需其他布局。

标签: java android android-layout optimization view


【解决方案1】:

在布局中始终保留您的medal 图标,并根据条件将其可见性设置为GONEVISIBLE。当然,一旦用户离开应用程序(或活动进入后台),您希望在某处保留/保存/保存分数。

【讨论】:

    【解决方案2】:

    我很确定你可以在onResume() 期间处理奖牌的添加。至于为什么 onResume,我们希望它在 Activity 激活时检查并显示。

    onResume()
    {
    //getting/verifying points
    //Handle medal adding (Check if image exists, add/modify if needed)
    }
    

    最重要的是,您需要某种方式来保存此分数并特别是访问它。你的问题没有解决这个问题,所以这是我能做的最好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多