以编程方式显示布局以添加 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
我想做的事情:
我想要多个活动,每个活动都以一个页面开头,向用户解释 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