Gio*_*olo 8 client android developer-tools android-studio
我正在使用android studio编写应用程序.我想知道以哪种方式我可以做一个教程,用户只会在第一次使用该应用时看到.图像或屏幕截图等教程
有人能帮我吗?谢谢
您可以随时编写自己的解决方案,但是,让我们不要重新发明轮子.
检查此Android库:
它允许您在屏幕中添加指针,因此用户知道他接下来应该触摸的位置.
它非常易于使用,您只需要指向您希望用户触摸的元素.
来自doc:
假设您有一个这样的按钮,您希望用户点击:
Button button = (Button)findViewById(R.id.button);
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式在其上添加教程指针:
TourGuide mTourGuideHandler = TourGuide.init(this).with(TourGuide.Technique.Click)
.setPointer(new Pointer())
.setToolTip(new ToolTip().setTitle("Welcome!").setDescription("Click on Get Started to begin..."))
.setOverlay(new Overlay())
.playOn(button);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
我在寻找仅在第一次运行教程的解决方案时遇到了该线程(如rbaleksandar建议),因此,如果有一天对某人有所帮助,这是一个适用于我的解决方案模板(使用SharedPreferencesAPI) :
@Override
protected void onResume() {
super.onResume();
String tutorialKey = "SOME_KEY";
Boolean firstTime = getPreferences(MODE_PRIVATE).getBoolean(tutorialKey, true);
if (firstTime) {
runTutorial(); // here you do what you want to do - an activity tutorial in my case
getPreferences(MODE_PRIVATE).edit().putBoolean(tutorialKey, false).apply();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑-奖金 -如果您正在学习应用程序教程-我现在正把ShowcaseView库弄乱了(太好了-试试看)。显然,使用称为的方法,该问题有一些捷径singleShot(long)-其输入是的键SharedPreferences,并且它执行的操作完全相同-仅在首次激活时运行。用法示例(从此处获取):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single_shot);
Target viewTarget = new ViewTarget(R.id.button, this);
new ShowcaseView.Builder(this)
.setTarget(viewTarget)
.setContentTitle(R.string.title_single_shot)
.setContentText(R.string.R_string_desc_single_shot)
.singleShot(42)
.build();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9375 次 |
| 最近记录: |