From a780ba4b15cbe69e7ad74c34c21ccef5e8cdce23 Mon Sep 17 00:00:00 2001 From: Alexander Lucas Date: Fri, 7 Mar 2014 13:34:45 -0800 Subject: Adding browsable prebuilt samples for march push Change-Id: I952db10d9c9acb4940db08a07789347ea2effe4d --- .../MainActivity.java | 48 ++++++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) (limited to 'samples/browseable/AdvancedImmersiveMode/src/com.example.android.advancedimmersivemode/MainActivity.java') diff --git a/samples/browseable/AdvancedImmersiveMode/src/com.example.android.advancedimmersivemode/MainActivity.java b/samples/browseable/AdvancedImmersiveMode/src/com.example.android.advancedimmersivemode/MainActivity.java index 0ebe8784f..e32355760 100644 --- a/samples/browseable/AdvancedImmersiveMode/src/com.example.android.advancedimmersivemode/MainActivity.java +++ b/samples/browseable/AdvancedImmersiveMode/src/com.example.android.advancedimmersivemode/MainActivity.java @@ -22,6 +22,8 @@ package com.example.android.advancedimmersivemode; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.view.Menu; +import android.view.MenuItem; +import android.widget.ViewAnimator; import com.example.android.common.activities.SampleActivityBase; import com.example.android.common.logger.Log; @@ -30,26 +32,28 @@ import com.example.android.common.logger.LogWrapper; import com.example.android.common.logger.MessageOnlyLogFilter; /** - * A simple launcher activity containing a summary sample description - * and a few action bar buttons. + * A simple launcher activity containing a summary sample description, sample log and a custom + * {@link android.support.v4.app.Fragment} which can display a view. + *

+ * For devices with displays with a width of 720dp or greater, the sample log is always visible, + * on other devices it's visibility is controlled by an item on the Action Bar. */ public class MainActivity extends SampleActivityBase { public static final String TAG = "MainActivity"; - public static final String FRAGTAG = "AdvancedImmersiveModeFragment"; + // Whether the Log Fragment is currently shown + private boolean mLogShown; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - if (getSupportFragmentManager().findFragmentByTag(FRAGTAG) == null ) { - FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); - AdvancedImmersiveModeFragment fragment = new AdvancedImmersiveModeFragment(); - transaction.add(fragment, FRAGTAG); - transaction.commit(); - } + FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); + AdvancedImmersiveModeFragment fragment = new AdvancedImmersiveModeFragment(); + transaction.replace(R.id.sample_content_fragment, fragment); + transaction.commit(); } @Override @@ -58,6 +62,32 @@ public class MainActivity extends SampleActivityBase { return true; } + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + MenuItem logToggle = menu.findItem(R.id.menu_toggle_log); + logToggle.setVisible(findViewById(R.id.sample_output) instanceof ViewAnimator); + logToggle.setTitle(mLogShown ? R.string.sample_hide_log : R.string.sample_show_log); + + return super.onPrepareOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch(item.getItemId()) { + case R.id.menu_toggle_log: + mLogShown = !mLogShown; + ViewAnimator output = (ViewAnimator) findViewById(R.id.sample_output); + if (mLogShown) { + output.setDisplayedChild(1); + } else { + output.setDisplayedChild(0); + } + supportInvalidateOptionsMenu(); + return true; + } + return super.onOptionsItemSelected(item); + } + /** Create a chain of targets that will receive log data */ @Override public void initializeLogging() { -- cgit v1.2.3