最近在开发idox3设置向导账号界面过程中为了设置向导中的其他界面,比如wifi设置,语言设置等界面保持点击效果动画和风格一致性,需要用到系统导航栏,效果图如下:
查找了系统源码发现androidL 平台已经提供了现成控件可以使用,非常简单方便.
NavigationBar :在设置向导过程中提供给第三方客制化的导航栏控件.
NavigationBar用法如下:
1.项目中导入NavigationBar library,可以在Android L源码路径获取库项目,路径\android_lollipop\android_source_li\frameworks\opt\setupwizard\navigationbar
2.在布局中定义fragment
<fragment android:name="com.android.setupwizard.navigationbar.SetupWizardNavBar"
android:id="@+id/navigation_bar"
style="@style/setup_wizard_navbar_style"
/>
3.加载布局并实现接口NavigationBarListener
public interface NavigationBarListener {
public void onNavigationBarCreated(SetupWizardNavBar bar);//这个是创建NavigationBar 对象,设置虚拟键盘是否显示和隐藏,设置UI字符串显示等
public void onNavigateBack();//上图中返回事件实现可以写在这个里面
public void onNavigateNext();//上图中Next或者SKIP 事件实现逻辑可以写在这个里面
}
下载地址为:NavigationbarDemo.rar
注意事项:
NavigationBar源码中其他应用可以直接使用的方法setUseImmersiveMode,这个方法是用来控制虚拟按键是否显示隐藏的,可以拿出去当公共方法来用.