AppCompatActivity和FragmentActivity是Android开发中常用的两个Activity类。它们的主要区别在于支持的最低API级别和代码结构。
AppCompatActivity是从Android 5.0(API级别21)开始引入的。它是一个基于ActionBar的Activity类,可以在较低版本的Android系统上提供类似于Material Design的外观和感觉。使用AppCompatActivity,开发者可以方便地使用最新的Android支持库中的许多组件,如Toolbar、RecyclerView、ViewPager等。
下面是一个使用AppCompatActivity的示例代码,其中我们使用ToolBar和ViewPager组件:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
}
private class MyPagerAdapter extends FragmentPagerAdapter {
private final String[] titles = {"Tab 1", "Tab 2", "Tab 3"};
MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0: return new Tab1Fragment();
case 1: return new Tab2Fragment();
case 2: return new Tab3Fragment();
default: return null;
}
}
@Override
public int getCount() {
return titles.length;
}
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
}
}
FragmentActivity是从Android 3.0(API级别11)开始引入的。它是一个Activity类,专门用于管理Fragment的生命周期。使用FragmentActivity,开发者可以将多个Fragment嵌入到同一个Activity中,并在不同的屏幕配置下实现响应式的布局。如果您的应用需要支持Android 2.x版本,可以使用FragmentActivity