Comment afficher «Menu coulissant» sur le lancement de l'activité?

J'essaie d'utiliser un excellent menu de glisse de bibliothèque par Jeremy Feinstein.

Pour mon cas, ce sera génial si l'activité est lancée avec le menu coulissant ouvert comme

  • Sélection de plusieurs éléments dans ListView
  • Utiliser un nouveau sbb de firebase dans le projet d'eclipse Android
  • ViewPager dans le fragment intérieur, comment conserver l'état?
  • Glide ne peut pas charger le fichier depuis le stockage interne
  • Meilleur outil de développement multiplateforme pour iPhone et Android
  • Android GCM (notification push): le périphérique ne reçoit pas de notification si l'application est arrêtée
  • Entrez la description de l'image ici

    Au lieu du menu coulissant fermé comme

    Entrez la description de l'image ici

    J'ai essayé de mettre toggle() dans l'activité mais pas d'utilisation.

    SlidingSherlockFragmentActivity

    Il est identique à SlidingFragmentActivity, sauf qu'il étend SherlockFragmentActivity au lieu de FragmentActivity.

    Activité de base

     public class BaseActivity extends SlidingSherlockFragmentActivity { private int mTitleRes; protected ListFragment mFrag; public BaseActivity(int titleRes) { mTitleRes = titleRes; } private static final String TAG = "BaseActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle(mTitleRes); // set the Behind View setBehindContentView(R.layout.menu_frame); FragmentTransaction t = this.getSupportFragmentManager().beginTransaction(); mFrag = new SampleListFragment(); t.replace(R.id.menu_frame, mFrag); t.commit(); // customize the SlidingMenu SlidingMenu sm = getSlidingMenu(); sm.setShadowWidthRes(R.dimen.shadow_width); sm.setShadowDrawable(R.drawable.shadow); sm.setBehindOffsetRes(R.dimen.slidingmenu_offset); sm.setFadeDegree(0.35f); sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); getSupportActionBar().setDisplayHomeAsUpEnabled(true); sm.setOnOpenListener(new SlidingMenu.OnOpenListener() { @Override public void onOpen() { Log.d(TAG, "onOpen"); } }); sm.setOnOpenedListener(new SlidingMenu.OnOpenedListener() { @Override public void onOpened() { Log.d(TAG, "onOpened"); } }); sm.setOnCloseListener(new SlidingMenu.OnCloseListener() { @Override public void onClose() { Log.d(TAG, "onClose"); } }); sm.setOnClosedListener(new SlidingMenu.OnClosedListener() { @Override public void onClosed() { Log.d(TAG, "onClosed"); } }); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: toggle(); return true; } return super.onOptionsItemSelected(item); } 

    }

    FlipperCheck

     public class FlipperCheck extends BaseActivity { private ViewFlipper flipper; private TextView secondaryText; public FlipperCheck() { super(R.string.app_name); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setSlidingActionBarEnabled(true); setContentView(R.layout.main); flipper = (ViewFlipper) findViewById(R.id.voicerecorder_textflipper); flipper.startFlipping(); flipper.setInAnimation(AnimationUtils .loadAnimation(getApplicationContext(), android.R.anim.fade_in)); flipper.setOutAnimation(AnimationUtils .loadAnimation(getApplicationContext(), android.R.anim.fade_out)); secondaryText = (TextView) findViewById(R.id.voicerecorder_secondarytext); secondaryText.setText("Why cannot I see u..."); final TextView firstText = (TextView) findViewById(R.id.firsttext); final TextView secondText = (TextView) findViewById(R.id.secondtext); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { stopFlipper(); flipper.setVisibility(View.INVISIBLE); secondaryText.setVisibility(View.VISIBLE); } }); Button secondButton = (Button) findViewById(R.id.second_button); secondButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { firstText.setText("Replaying"); secondText.setText("Replaying"); } }); } @Override protected void onStart() { super.onStart(); toggle(); } private void stopFlipper() { flipper.getInAnimation().setAnimationListener(new Animation.AnimationListener() { public void onAnimationStart(Animation animation) { } public void onAnimationRepeat(Animation animation) { } public void onAnimationEnd(Animation animation) { int displayedChild = flipper.getDisplayedChild(); int childCount = flipper.getChildCount(); if (displayedChild == childCount - 1) { flipper.stopFlipping(); } } }); } } 

    [Modifier 2]

    On dirait que toggle() in onStart() est l'activation de l'ouverture et de la fermeture du menu coulissant avant que l'activité ne s'affiche.

     01-01 19:27:53.780: D/BaseActivity(351): onOpen 01-01 19:27:53.780: D/BaseActivity(351): onOpened 01-01 19:27:53.780: D/BaseActivity(351): onClose 01-01 19:27:53.790: D/BaseActivity(351): onClosed 01-01 19:27:54.241: D/dalvikvm(351): GC_EXTERNAL_ALLOC freed 2725 objects / 223104 bytes in 80ms 01-01 19:27:54.370: D/dalvikvm(351): GC_EXTERNAL_ALLOC freed 290 objects / 12352 bytes in 75ms 01-01 19:27:54.520: I/ActivityManager(59): Displayed activity com.abc.FlipperCheck/.FlipperCheck: 3084 ms (total 3084 ms) 

    Ma question

    Tout en utilisant Android Library "Sliding Menu" comment lancer une activité avec Sliding Menu ouvert?

  • Ce SDK Android nécessite la version de logiciel Android Developer Toolkit 23.0.0 ou supérieure
  • Le moyen le plus sûr d'utiliser SharedPreferences
  • Android WebView style background-color: transparent ignoré sur Android 2.2
  • Supprimer l'application du lanceur par programme dans Android
  • Impossible d'installer mon propre apk généré
  • Trouver tout sur la classe Uri d'Android - utilisation et but
  • 3 Solutions collect form web for “Comment afficher «Menu coulissant» sur le lancement de l'activité?”

    Vous pouvez utiliser:

     @Override public void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); new Handler().postDelayed(new Runnable() { @Override public void run() { toggle(); } }, 1000); } 

    Il y a une meilleure façon de le faire sans poster sur le Handler vous-même, si vous SlidingActivity classes SlidingActivity :

     @Override public void onPostCreate(Bundle savedInstanceState) { if (savedInstanceState == null) { savedInstanceState = new Bundle(); savedInstanceState.putBoolean("SlidingActivityHelper.open", true); } super.onPostCreate(savedInstanceState); } 

    Cela fonctionne car SlidingActivityHelper restaure l'état ouvert / fermé du menu à partir de l'état de l'instance enregistrée. S'il n'y a pas d'état enregistré, il n'y a aucun mal à le définir comme un état par défaut .

     getSlidingMenu().post(new Runnable() { @Override public void run() { getSlidingMenu().showMenu(); } }); 

    Mettez-le en ligne. Create m'a fait l'affaire.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.