基本架构
一般项目架构部署
- Application
- BaseApplication继承于Application
- 生命周期最长,伴随着者应用的产生到死亡
- ui
- 存放与Activity.xml对应的类
- 存放基类BaseActivity
- Drawable 多分辨率支持
- values 主要多语言支持
- values-CN 中文
- values-EN 英文
- Utils 工具类
- StaticClass
- 存数据/常量
SmartButler主页相关代码
ActionBar 标题栏
//去除ActionBar阴影
getSupportActionBar().setElevation(0);
TabLayout 选项栏
//将TabLayout与ViewPager绑定
mTabyout.setupWithViewPager(mViewPager);
ViewPager 选项卡
//预加载
mViewPager.setOffscreenPageLimit(mFragment.size());
//设置适配器
mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
//选中的item
@Override
public Fragment getItem(int i) {
return mFragment.get(i);
}
//返回item个数
@Override
public int getCount() {
return mFragment.size();
}
//设置标题
@Override
public CharSequence getPageTitle(int position) {
return mTitle.get(position);
}
});
///监听ViewPager的选项变化,当处于位置0时悬浮按钮不显示
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
L.i(i+"");
if (i==0){
fab_setting.setVisibility(View.GONE);
}else{
fab_setting.setVisibility(View.VISIBLE);
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
FloatingActionButton 悬浮按钮
<android.support.design.widget.FloatingActionButton
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
android:id="@+id/fab_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:background="@color/colorPrimary"/>
//点击事件,跳转到settingActivity
startActivity(new Intent(this,SettingActivity.class));
Intent(意图) 简*
- 协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。
- Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。
Intent的常见表现形式
startActivity() //无数据交互
startActivityForResult() //有数据交互
SmartButler内容结构
- 管家服务
- 微信精选
- 美女社区
- 个人中心
- 设置
此系列文章为学习慕课网-带领新手快速开发android app 学习笔记
小白第一次写文,欢迎指点,大神勿喷