Vous ne savez pas si vous avez déjà vu ce lien, mais c'est un bon endroit pour commencer. Il a à la fois le xml et java fichiers pour travailler avec. http://android-developers.blogspot.com/2011/02/android-30-fragments-api.html
EDIT: (ajout du code) Voici un exemple d'utilisation de fragments avec la barre d'action. Probablement le plus facile et meilleure des façons, mais c'est ce que je suis venu avec.
onCreate:
// setup Action Bar for tabs
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// remove the activity title to make space for tabs
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
TabContentFragment tab1 = new TabContentFragment();
actionBar.addTab(actionBar.newTab().setIcon(R.drawable.ic_tab).setTabListener(new TabListener(tab1)));
Aussi:
class TabListener implements ActionBar.TabListener
{
private TabContentFragment mFragment;
// Called to create an instance of the listener when adding a new tab
public TabListener(TabContentFragment fragment)
{
mFragment = fragment;
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft)
{
ft.add(R.id.tabs, mFragment, null);
tabholder = mFragment;
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft)
{
ft.remove(mFragment);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft)
{
// do nothing
}
}
Alors un peu de classe comme ceci:
public class TabContentFragment extends Fragment
{
//UI Elements
View v;
//Creates UI and setups up Tab Elements
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState)
{
if (container == null)
return null;
if (v != null)
return v;
v = inflater.inflate(R.layout.fragment_layout, container, false);
return v;
}
Enfin XML:
<?xml version="1.0" encoding="utf-8"?>
vous allez créer un autre fichier XML qui est chargé dans le FrameLayout. De nouveau ce n'est probablement pas la façon la plus propre de le faire, mais devrait être un peu de code pour vous mettre dans la bonne direction.