android 开发学习 慕课音乐

第一步 创建项目

  1. 创建项目基础环境 BaseActivity
  2. 创建启动的 Application => MyApplication APP 的启动的时候就会启动
  3. 让 mainActivity 继承 BaseActivity
  4. 启动测试项目能否正常运行

第二步 实现 welcome 页面

  1. 创建 welcomeActivity extend BaseActivity
  2. 实现 welcomeActivity 布局
    1. colors.xml 中添加项目主题色
    2. mipmap 中添加项目 logo
    3. activity_welcome.xml 实现布局 修改布局方式为 FrameLayout
      1. 给与背景颜色
      2. 居中展示
  3. 实现 3 秒延时之后跳转到项目首页

显示类似 ios 的导航

  1. 创建导航类 NavigationBar
  2. 创建 NavigationBar.xml 实现 FrameLayout
  3. 实现布局样式
    1. 中间的文字
    2. 左侧的返回按钮
    3. 右侧的个人中心按钮
  4. 实现初始化方法 绑定页面元素
    1. navigationBar 的初始化在 BaseActivity 里面 (这个细节我之前没有发现, 所有可以用这个来控制展示和初始化直接调用)
    2. 使用 dimen 定义高度 和 间距

自定义组件的使用

  1. include 导入到文件的 xml 中 这里我们使用了 BaseActivity 来承接这个组件

  2. 在 BaseActivity 初始化展示和文案

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    private ImageView mIBack, mIvMe;
    private TextView myTvTitle;

    /**
    * findViewById
    * @param d
    * @return
    * @param <T>
    */
    protected <T extends View> T fd (@IdRes int d) {
    return findViewById(d);
    }

    protected void initNavBar(boolean isShowBack, String titleString , boolean isShowMe) {
    mIBack = (ImageView) fd(R.id.nav_back);
    mIvMe = (ImageView) fd(R.id.nav_me);
    myTvTitle = (TextView) fd(R.id.nav_title);

    mIBack.setVisibility(isShowBack? View.VISIBLE : View.GONE);
    mIvMe.setVisibility(isShowMe? View.VISIBLE : View.GONE);
    myTvTitle.setText(titleString);

    mIBack.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
    // 返回事件
    onBackPressed();
    }
    });
    }
  3. 解惑: 因为在 BaseActivity 里面有封装所有继承 BaseActivity 的对象都能使用 initNavBar 来初始化对象