android 开发学习 慕课音乐
第一步 创建项目
- 创建项目基础环境 BaseActivity
- 创建启动的 Application => MyApplication APP 的启动的时候就会启动
- 让 mainActivity 继承 BaseActivity
- 启动测试项目能否正常运行
第二步 实现 welcome 页面
- 创建 welcomeActivity extend BaseActivity
- 实现 welcomeActivity 布局
- colors.xml 中添加项目主题色
- mipmap 中添加项目 logo
- activity_welcome.xml 实现布局 修改布局方式为 FrameLayout
- 给与背景颜色
- 居中展示
- 实现 3 秒延时之后跳转到项目首页
显示类似 ios 的导航
- 创建导航类 NavigationBar
- 创建 NavigationBar.xml 实现 FrameLayout
- 实现布局样式
- 中间的文字
- 左侧的返回按钮
- 右侧的个人中心按钮
- 实现初始化方法 绑定页面元素
- navigationBar 的初始化在 BaseActivity 里面 (这个细节我之前没有发现, 所有可以用这个来控制展示和初始化直接调用)
- 使用 dimen 定义高度 和 间距
自定义组件的使用
include 导入到文件的 xml 中 这里我们使用了 BaseActivity 来承接这个组件
在 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
31private 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();
}
});
}解惑: 因为在 BaseActivity 里面有封装所有继承 BaseActivity 的对象都能使用 initNavBar 来初始化对象