以编程方式显示布局以添加 activity

Programmatically show Layout to preface an activity

我想做的事情:

我想要多个活动,每个活动都以一个页面开头,向用户解释 activity 是关于什么的。

我现在在做什么:

所以我的主要 class BaseModuleActivity 扩展 Activity 并且我正在尝试编写一个名为 showTutorial() 的函数,它将向用户解释接下来的步骤。

这是我的尝试:

public void showTutorial(String title, String explanation){
               setContentView(R.layout.tutorial_screen);
        TextView tv1 = (TextView)findViewById(R.id.tutoTextTitle);
        tv1.setText(title);

        TextView tv2 = (TextView)findViewById(R.id.tutoTextExplanation);
        tv2.setText(explanation);

        findViewById(R.id.tutoButton).setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on click
                //remove the tutorial's view
                findViewById(R.id.tutoLayout).setVisibility(View.GONE);
            }
        });
    }

下面调用了这个方法:

public class myFirstActivity extends BaseModuleActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_first);

        //First show tuto
        super.showTutorial(getString(R.string.upTitle),getString(R.string.upExplanation));

        //TODO then actually do the activity stuff
        /*
        (findViewById(R.id.next_button)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
        */
    }
}

问题:

我觉得问题主要是概念上的。我不知道执行此操作的最佳方法,而且我采用的方法无效。

我正在做的事情没有用,因为视图变空了。我认为将 linearLayout 的可见性设置为 gone 会使它消失,并且实际的 activity 将能够发生。

我需要的:

我需要了解我是否可以用我的方法做我想做的事?或者我应该采取什么方法。

我发现了一些类似的问题。但是,这些问题的答案似乎都不符合我的问题。

我也研究了布局充气器和片段,但布局充气器似乎更适合 listView,片段使用布局充气器。

看来你要的其实是介绍。看看这个项目:

https://github.com/rubengees/introduction

从每个介绍页面您可以启动通讯员activity。

好吧,有一些方法可以为您的activity(或应用程序)显示指南。
第一个,可能也是最简单的,是在用户输入 activity 时显示 dialog/TextView 并使用纯文本解释 dialog/TextView 中的 activity 指南。从你的解释来看,我认为这就是你想要做的。
第二个是使用带有图片的幻灯片之类的东西来解释您的 activity(例如 Google Sheets 应用程序)。
第三个是通过突出显示来分别解释 activity 中的每个控件(类似于 Go Launcher 在首次启动时解释其功能的方式)

您可以在以下链接中找到更多信息:
How to implement first launch tutorial like Android Lollipop apps: Like Sheets, Slides app?
Android - first launch interactive tutorial