Java tutorial
/******************************************************************************* * Copyright (C) 2013 Snowdream Mobile * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *******************************************************************************/ package com.snowdream.wallpaper; import java.util.List; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.view.View; import com.actionbarsherlock.view.MenuItem; import com.github.snowdream.android.util.Log; import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; import com.snowdream.wallpaper.adapter.ImageGridAdapter; import com.snowdream.wallpaper.entity.Image; /** * @author snowdream <yanghui1986527@gmail.com> * @date 2013-6-10 * @version v1.0 */ public class ImageGridActivity extends AbsListViewBaseActivity { ImageGridAdapter adapter = null; List<Image> mImages = null; private Fragment mContent = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle(R.string.app_name); setContentView(R.layout.responsive_content_frame); // check if the content frame contains the menu frame if (findViewById(R.id.menu_frame) == null) { setBehindContentView(R.layout.menu_frame); getSlidingMenu().setSlidingEnabled(true); getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); // show home as up so we can toggle getActionBar().setDisplayHomeAsUpEnabled(true); } else { // add a dummy view View v = new View(this); setBehindContentView(v); getSlidingMenu().setSlidingEnabled(false); getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); } // set the Above View Fragment // if (savedInstanceState != null) // mContent = getSupportFragmentManager().getFragment(savedInstanceState, "mContent"); if (mContent == null) mContent = new ImageGridFragment(); getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, mContent).commit(); // set the Behind View Fragment getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new ImageMenuFragment()).commit(); // customize the SlidingMenu SlidingMenu sm = getSlidingMenu(); sm.setBehindOffsetRes(R.dimen.slidingmenu_offset); sm.setShadowWidthRes(R.dimen.shadow_width); sm.setShadowDrawable(R.drawable.shadow); sm.setBehindScrollScale(0.25f); sm.setFadeDegree(0.25f); Log.setTag("Wallpaper"); Log.setEnabled(true); } @Override public boolean onOptionsItemSelected(android.view.MenuItem item) { switch (item.getItemId()) { case android.R.id.home: toggle(); } return super.onOptionsItemSelected(item); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); getSupportFragmentManager().putFragment(outState, "mContent", mContent); } public void switchContent(final Fragment fragment) { mContent = fragment; getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit(); Handler h = new Handler(); h.postDelayed(new Runnable() { public void run() { getSlidingMenu().showContent(); } }, 50); } }