我正在尝试为 Android 创建一个教练标记。
我希望它绝对是全屏的,并且我的应用程序有一个ActionBar
. 因此,Commons 建议的解决方案(基本上是在 FrameLayout 之后膨胀)setContentView(view);
不起作用,FrameLayout
因为ActionBar
. 我想要它全屏。
所以,我截取了我的屏幕截图,并用 Photoshop 绘制了一些教练标记并创建了一个 .png 文件。然后我使用以下代码加载此 png 文件:
public void onCoachMark(){
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.activity_main_coach_mark);
dialog.setCanceledOnTouchOutside(true);
//for dismissing anywhere you touch
View masterView = dialog.findViewById(R.id.parent);
masterView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
preferences.edit().putBoolean("COACH_MARK_MAIN_SHOWN", true).commit();
}
});
dialog.show();
}
这在我的手机上完美运行,但众所周知,我们有成千上万的 Android 机型。对于另一个模型,它是这样的:
我曾尝试使用ShowcaseView项目,但显然它不适用于 ActionBar 按钮。我需要那个。
谁能帮我这个?