package com.actionbarsherlock.sample.demos; import java.util.Random; import android.content.Context; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import com.actionbarsherlock.view.Window; public class FeatureToggles extends SherlockActivity implements ActionBar.TabListener { private static final Random RANDOM = new Random(); private int items = 0; @Override public boolean onCreateOptionsMenu(Menu menu) { for (int i = 0; i < items; i++) { menu.add("Text") .setIcon(R.drawable.ic_title_share_default) .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); } return super.onCreateOptionsMenu(menu); } @Override public void onCreate(Bundle savedInstanceState) { setTheme(SampleList.THEME); //Used for theme switching in samples requestWindowFeature(Window.FEATURE_PROGRESS); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); super.onCreate(savedInstanceState); setContentView(R.layout.feature_toggles); setSupportProgressBarIndeterminateVisibility(false); setSupportProgressBarVisibility(false); getSupportActionBar().setCustomView(R.layout.custom_view); getSupportActionBar().setDisplayShowCustomEnabled(false); Context context = getSupportActionBar().getThemedContext(); ArrayAdapter<CharSequence> listAdapter = ArrayAdapter.createFromResource(context, R.array.locations, R.layout.sherlock_spinner_item); listAdapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item); getSupportActionBar().setListNavigationCallbacks(listAdapter, null); findViewById(R.id.display_progress_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setSupportProgressBarVisibility(true); setSupportProgressBarIndeterminateVisibility(false); setSupportProgress(RANDOM.nextInt(8000) + 10); } }); findViewById(R.id.display_progress_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setSupportProgressBarVisibility(false); } }); findViewById(R.id.display_iprogress_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Hack to hide the regular progress bar setSupportProgress(Window.PROGRESS_END); setSupportProgressBarIndeterminateVisibility(true); } }); findViewById(R.id.display_iprogress_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setSupportProgressBarIndeterminateVisibility(false); } }); findViewById(R.id.display_items_clear).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { items = 0; invalidateOptionsMenu(); } }); findViewById(R.id.display_items_add).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { items += 1; invalidateOptionsMenu(); } }); findViewById(R.id.display_subtitle_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setSubtitle("The quick brown fox jumps over the lazy dog."); } }); findViewById(R.id.display_subtitle_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setSubtitle(null); } }); findViewById(R.id.display_title_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayShowTitleEnabled(true); } }); findViewById(R.id.display_title_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayShowTitleEnabled(false); } }); findViewById(R.id.display_custom_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayShowCustomEnabled(true); } }); findViewById(R.id.display_custom_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayShowCustomEnabled(false); } }); findViewById(R.id.navigation_standard).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); } }); findViewById(R.id.navigation_list).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); } }); findViewById(R.id.navigation_tabs).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); } }); findViewById(R.id.display_home_as_up_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayHomeAsUpEnabled(true); } }); findViewById(R.id.display_home_as_up_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayHomeAsUpEnabled(false); } }); findViewById(R.id.display_logo_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayUseLogoEnabled(true); } }); findViewById(R.id.display_logo_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayUseLogoEnabled(false); } }); findViewById(R.id.display_home_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayShowHomeEnabled(true); } }); findViewById(R.id.display_home_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().setDisplayShowHomeEnabled(false); } }); findViewById(R.id.display_actionbar_show).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().show(); } }); findViewById(R.id.display_actionbar_hide).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().hide(); } }); Button tabAdd = (Button)findViewById(R.id.display_tab_add); tabAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ActionBar.Tab newTab = getSupportActionBar().newTab(); if (RANDOM.nextBoolean()) { newTab.setCustomView(R.layout.tab_custom_view); } else { boolean icon = RANDOM.nextBoolean(); if (icon) { newTab.setIcon(R.drawable.ic_title_share_default); } if (!icon || RANDOM.nextBoolean()) { newTab.setText("Text!"); } } newTab.setTabListener(FeatureToggles.this); getSupportActionBar().addTab(newTab); } }); //Add some tabs tabAdd.performClick(); tabAdd.performClick(); tabAdd.performClick(); findViewById(R.id.display_tab_select).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (getSupportActionBar().getTabCount() > 0) { getSupportActionBar().selectTab( getSupportActionBar().getTabAt( RANDOM.nextInt(getSupportActionBar().getTabCount()) ) ); } } }); findViewById(R.id.display_tab_remove).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (getSupportActionBar().getTabCount() > 0) { getSupportActionBar().removeTabAt(getSupportActionBar().getTabCount() - 1); } } }); findViewById(R.id.display_tab_remove_all).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportActionBar().removeAllTabs(); } }); } @Override public void onTabSelected(Tab tab, FragmentTransaction transaction) {} @Override public void onTabUnselected(Tab tab, FragmentTransaction transaction) {} @Override public void onTabReselected(Tab tab, FragmentTransaction transaction) {} }