一、tips
使用 android.support.v4.app.Fragment
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
// replaceFragment(new RightFragment());
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
// replaceFragment(new AnotherRightFragment());
break;
default:
break;
}
}
// private void replaceFragment(Fragment fragment) {
// FragmentManager fragmentManager = getSupportFragmentManager();
// FragmentTransaction transaction = fragmentManager.beginTransaction();
// transaction.replace(R.id.right_layout, fragment);
// transaction.addToBackStack(null);
// transaction.commit();
// }
}
FragmentManager;用来管理Fragment。
FragmentTransaction:用来对Fragment进行操作。
getSupportFragmentManager();获取该上下文中支持v4包的Fragment。
replace():替换布局与碎片。
addToBackStack():接受一个名字用于描述返回栈的状态。
活动与碎片之间的通信:
RightFragment rightFragment = (RightFragment) getSupportFragmentManager().findFragmentById(R.id.right_fragment);
MainActivity activity = (MainActivity) getActivity();
二、碎片的生命周期
包含:onCreate()/onStart()/onResume()/onPause()/onStop()/onDestroy()
增加:
onAttach():碎片与活动建立关联时调用。
onCreateView():为碎片创建视图时调用。
onActivityCreated():确保与碎片相关联的活动一定已经创建完毕时调用。
onDestroyView():当与碎片关联的视图被移除时调用。
onDetach():当碎片与活动解除关联时调用。
三、使用限定符
layout-sw600dp:提供给屏幕宽度大于等于600dp的设备。