gpt4 book ai didi

java - Android 文本冒险应用程序 - 如何根据整数绘制不同的 XML 布局内容

转载 作者:行者123 更新时间:2023-11-29 09:03:40 24 4
gpt4 key购买 nike

如果您不想看一大堆文字,请转到 tl;dr。

我想为 Android 创建一个文字冒险应用。

这将是巨大的,所以我想出而不是创建 10,000 个 Activity 我会只在一个 Activity 上工作并绘制不同的内容 - 和 - 不同的按钮取决于用户现在所在的“页面”。

我们从第 0 页开始。

它向我们展示了类似的东西:

第 0 页

欢迎冒险者!你是什​​么性别?

[按钮 1 = 字符串“男性”转到第 1 页重绘 Activity ][按钮 2 = 字符串“女性”转到第 2 页重绘 Activity ]

第 1 页

欢迎我的女士!

[按钮 1 = 字符串“你好”转到第 3 页重绘 Activity ][按钮 2 = 字符串“再见”转到第 4 页重绘 Activity ]

欢迎好先生!

第 2 页[按钮 1 = 字符串“你好”转到第 5 页重绘 Activity ][按钮 2 = 字符串“再见”转到第 6 页重绘 Activity ]

如您所见,它变得非常复杂。这只是我希望它如何工作的一个示例,游戏中的选择将比“你好”或“再见”更通用。

我需要一种方法来重绘 TextView 的内容和显示在下方的按钮,以及屏幕顶部的一些变量,如“健康”或“黄金”。所有在修改变量“page”之后。

另一种选择是为每个选择创建不同的 Activity 。传递变量“health”和“gold”可能很容易,重绘将在创建时发生,并且字符串已经在新 Activity 的 XML 布局中就位。

但我不确定我是否要完成创建 10,000 个 Activity 并在链接的 Activity 之间传递变量的编码过程。 :/

有什么建议吗?

长话短说我可以根据整数重新绘制 android 应用程序的内容,同时一直停留在同一个 Activity 上吗?

这类似于我想要实现的目标: https://play.google.com/store/apps/details?id=wizardsChoiceV1.toucher&hl=en

编辑我现在得到的没有给我任何错误,但它不会切换屏幕。 :/

    package com.example.textadventure;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;


public class MainActivity extends Activity implements OnClickListener {

public static int page = 1;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
}

public void onClick(View view) {
onClick(view);
switch (view.getId()) {
case R.id.button1:
setContentView(R.layout.activity_main2);
break;
case R.id.button2:
setContentView(R.layout.activity_main);
break;
default:
//code..
break;
}
}
}

最佳答案

你是对的,你不想为每个选择创建一个 Activity 。您可能希望将您的设计拆分为多个组件,并为每个组件创建一个明显不同的布局。

然后您可以创建一个布局,根据游戏的当前状态将这些组件组合在一起,并定义与布局中各个 View 关联的值。

例如,您可能有一个组件来表示您角色的状态(生命值、金币、装备等)和多个组件来表示不同类型的选择(带有是/否选择的描述、带有描述的房间、一些互动项目/对象和一些导出)。

您可以将游戏状态存储在 Activity 的某个位置,并根据该状态决定需要哪些组件,例如,如果您在起始位置有一个新角色,您可以在顶部显示角色状态布局和底部的房间布局。

角色状态布局将包含许多 View 对象,您可以修改这些对象以匹配当前角色状态,房间布局也是如此。

关于java - Android 文本冒险应用程序 - 如何根据整数绘制不同的 XML 布局内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16124150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com