如何在Android中创build半透明的灰色教程覆盖?

你知道当你第一次运行Android设备(如果你使用模拟器,你会看到很多东西),有一个关于如何使用启动器和添加小部件等有用的小教程。我试图find一个例子这在谷歌,但我不能。 我希望你知道我的意思。 这是每一步都有蓝色的“okay”button。

无论如何,我想为我的应用程序创build一个,但我不确定哪个是最好的方式去做。

我是否创build了一个片段,使其能够在我的常规活动之上变得半透明,并且只在第一次运行时才显示出来?

是否为本教程的每个部分制作半透明的.png,并在第一次运行时将其覆盖在常规启动器活动上?

如果我做后者,我怎么调整所有不同的屏幕尺寸? 我可以在Photoshop中将图像渲染到不同的维度,但是这并不能涵盖所有的维度。 如果我走碎片路线,我可以说“match_parent”而不用担心。 但是,我必须弄清楚碎片是如何工作的,他们把我搞糊涂了。

Solutions Collecting From Web of "如何在Android中创build半透明的灰色教程覆盖?"

我认为这个开放源代码库正是你想要的:

展示视图

在这里输入图像说明

您可以从GitHub获取源代码和设置说明。

使用hex颜色代码,其中包含两个数字alpha六个颜色本身,如下所示:

android:background="#22FFFFFF" 

这将使其半透明。

 android:background="#c0000000" for more darkness 

编辑

一般来说,hex颜色代码结构就像'#FFFF'

为了达到透明度,在'#'之后加两个数字到任何颜色代码。

例如: #110000#220000#330000

这两位数字越大,透明度越低。

你可以尝试这样的事情

 <LinearLayout ... > <!-- your Normal layout goes here --> <RelativeLayout android:id="@+id/tutorialView" android:background="#D0000000" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:src="@drawable/hint_menu" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> </LinearLayout> 

并在您的onCreate方法

 View tutorialView = findViewById(R.id.tutorialView); boolean tutorialShown = PreferenceManager.getDefaultSharedPreferences(MainActivity.this).getBoolean(Constants.PREF_KEY_TUT_MAIN, false); if (!tutorialShown) { tutorialView.setVisibility(View.VISIBLE); } else { tutorialView.setVisibility(View.GONE); } tutorialView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.setVisibility(View.GONE); PreferenceManager.getDefaultSharedPreferences(MainActivity.this).edit().putBoolean(Constants.PREF_KEY_TUT_MAIN, true).commit(); } }); 

你不需要使用Photoshop。 你可以使用例如一个LinearLayout与android:background="#50134BE8" 。 这将使其透明蓝色。 您可以将布局放在所有内容的顶部,并在用户完成时将其隐藏起来。 您可以使用任何背景颜色,但要使其透明,请在“#”符号之后放置一个从01到FE的数字,以更改其透明度。 将宽度和高度设置为fill_parent以占据整个区域。 将此视图直接放置在主布局中。 希望这可以帮助。

有一个屡获殊荣的图书馆称为“FancyShowcaseView”:

https://github.com/faruktoptas/FancyShowCaseView

FancyShowcaseView示例

添加到你的项目是这样的:

顶层 build.gradle不是模块级别)中:

 allprojects { repositories { ... maven { url "https://jitpack.io" } } } 

模块级 (app) build.gradle

 dependencies { compile 'com.github.faruktoptas:FancyShowCaseView:1.0.0' } 

那么你可以打电话给:

 new FancyShowCaseView.Builder(this) .focusOn(view) .title("Focus on View") .build() .show();