 
		慕神7506910
2020-01-16 17:42
就是Nav_Bar那一部分
 
				可以参考本系列(一)课程
 
				因为nav_bar需要多次使用,所以先将nav_bar单独做好,封装,这样可以在多次使用时直接引用进来,方便使用
在xml文件引用nav_bar语句
<include layout="@layout/nav_bar"/>
nav_bar.xml文件
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="@dimen/nacBarHeight" android:paddingLeft="@dimen/paddingSize" android:paddingRight="@dimen/paddingSize" android:background="@color/red"> <ImageView android:id="@+id/iv_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@mipmap/back"/> <TextView android:id="@+id/tv_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textSize="@dimen/navBarTextSize" android:textColor="@android:color/white" android:text="音乐播放器"/> <ImageView android:id="@+id/iv_me" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/me" android:layout_gravity="right|center_vertical"/> </FrameLayout>
然后在BaseActivity中创建一个初始化nav_bar的方法,用来控制nav_bar的显示内容和点击事件
initNavBar方法:
protected void initNavBar (boolean isShowBack, String title, boolean isShowMe){
    //获取控件
    mIvBack = fd(R.id.iv_back);
    mIvMe = fd(R.id.iv_me);
    mTvTitle = fd(R.id.tv_title);
    //控制后退按钮是否可见
    mIvBack.setVisibility(isShowBack ? View.VISIBLE:View.GONE);
    //控制个人中心按钮是否可见
    mIvMe.setVisibility( isShowMe ? View.VISIBLE:View.GONE);
    //设置标题
    mTvTitle.setText(title);
    //后退按钮点击事件
    mIvBack.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });
    //个人中心按钮点击事件
    mIvMe.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(BaseActivity.this,MeActivity.class);
            startActivity(intent);
        }
    });
}最后直接在使用到nav_bar的activity的initView方法中调用此方法设置nav_bar内容就行了
例如个人中心页面调用initNavBar方法:
private void initView(){
    initNavBar(true,"个人中心",false);
}我的云音乐(二)
7953 学习 · 82 问题
相似问题