发表于: 2018-09-30 23:58:41
0 784
一、今天完成的事情
今天学习了UI中标签切换的实现方法,在布局底部设置了三个标签,点击其中一个时标签时,其图标颜色会发生变化,同时布局的上半部分也会切换到相应的Fragment,这样在一个Activity中就可以实现三个页面的切换,不用再去创建三个Activity了。
为每个标签设置点击响应事件,点击发生时,每个标签重新引用相应的资源,
自定义一个addOrShow()方法将add()和show()方法结合起来,简化了部分代码。
/*
添加或者显示Fragment
*/
private void addOrShowFragment(FragmentTransaction transaction, Fragment fragment) {
if (currentFragment == fragment)
return;
if (!fragment.isAdded()) {
transaction.hide(currentFragment).add(R.id.view_fragment, fragment).commit();
} else {
transaction.hide(currentFragment).show(fragment).commit();
}
currentFragment = fragment;
}
了解了tools:context属性的作用,之前一直没有注意这个属性,今天偶然发现,查了一下,tools:context不会被打包到apk文件中,它只是用于在AS的可视化界面中显示一些特殊效果。比如LoginActivity和RegisterActivity的布局中都设置了透明效果,但是只有LoginActivity的布局文件设置了tool:context属性,在AS的可视化界面中,两者的显示效果时不一样的。这个可以根据个人需要设置,对最终的效果没有影响。
二、明天计划的事情
1.继续完善标签切换功能;
2.完成列表页。
三、遇到的问题
碎片的生命周期掌握的不好。
四、收获
初步学习了UI标签切换,了解了tools:context属性。
评论