我们经常可以看到打开新App会有新手指引界面,类似蒙板效果今天来学习。原理其实很简单,设置一个透明Activity或者Dialog,然后修改其属性即可。由于实现比较简单,就贴一部分代码。
1.在Androidmanifest.xml增加
1 <activity 2 android:name=".TransparentActivity" //你的Activity 3 android:theme="@style/TransparenceTheme"> 4 </activity>
2.修改styles.xml,增加以下内容
1 <style name="TransparenceTheme" > 2 <item name="android:windowBackground">@color/自定义颜色</item> 3 <item name="android:windowNoTitle">true</item> 4 <item name="android:windowIsTranslucent">true</item> 5 <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> 6 </style>
3.一些说明
如果要使蒙板效果在android机器看不到系统通知栏,可以在styles.xml对应style上增加
1 <item name="android:windowFullscreen">true</item>
另外要想保留系统通知栏并且想要透明效果,可以在你设置的Activity初始化里加入以下(目前只支持android4.4版本)
1 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 2 Window window = getWindow(); 3 // Translucent status bar 4 window.setFlags( 5 WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, 6 WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 7 // Translucent navigation bar 8 window.setFlags( 9 WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, 10 WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 11 }