首页TAB页的技术选择与功能实现
一般的选择是用viewpager,这个有开源库。不过因为要引入开源库,所以有时候显得比较大。
下面这段代码是用在一个BaseActivity上面的,下面继承的Activity直接使用该方法,就可以完成标签的切换了。碎片管理设置定制动画,然后替换,整个作为一个事务。
public void replace(String stackName, BaseFragment fragment) { if (fragment.isAdded()) return; // Fragment beforeFragment = getSupportFragmentManager().findFragmentById(R.id.main); getSupportFragmentManager().beginTransaction() .setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out) // .setCustomAnimations(R.anim.right_in, R.anim.left_out, R.anim.left_in, R.anim.right_out) // .hide(beforeFragment) // .addToBackStack(stackName) .replace(R.id.main, fragment, fragment.getClass().getName()) .commit(); }
但是只能作为一小段demo的代码,扩展性很差,特别是从主活动到各个碎片的通信传递,没有引用,不好传递。