Android Open Source - Intro-to-Android Slide Fragment






From Project

Back to project page Intro-to-Android.

License

The source code is released under:

Apache License

If you think the Android project Intro-to-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2011 Michael Imamura/*w w w .j  ava  2 s.  co  m*/
 * 
 * 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 org.lugatgt.zoogie.present.ui;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;

import org.lugatgt.zoogie.present.Presentation;
import org.lugatgt.zoogie.present.R;


/**
 * Base class for the fragment for a slide.
 * @author Michael Imamura
 */
public abstract class SlideFragment extends Fragment {

    private Presentation presentation;
    
    // FIELD ACCESS ////////////////////////////////////////////////////////////
    
    /**
     * Retrieve the presentation this slide fragment is attached to (if any).
     * @return The presentation, or null if this slide is not the active (visible)
     *         slide.
     */
    protected Presentation getPresentation() {
        return presentation;
    }
    
    // LIFECYCLE ///////////////////////////////////////////////////////////////
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        RelativeLayout view = (RelativeLayout)inflater.inflate(R.layout.slide, null);
        
        View contentView = onCreateContentView(inflater, view, savedInstanceState);
        if (contentView != null) {
            FrameLayout contentFrame = (FrameLayout)view.findViewById(R.id.contentFrame);
            contentFrame.addView(contentView);
        }
        
        return view;
    }
    
    /**
     * Called when this fragment is attached to the presentation.
     * <p>
     * This occurs before the fragment about to become the active
     * (visible) slide, before the fragment is attached to the activity.
     * 
     * @param presentation The active presentation this slide is becoming part of.
     */
    public void onAttachToPresentation(Presentation presentation) {
        this.presentation = presentation;
    }
    
    /**
     * Called when this fragment is detached from the presentation.
     * <p>
     * This occurs when the fragment is no longer the active (visible) slide,
     * before the fragment is detached from the activity.
     */
    public void onDetachFromPresentation() {
        presentation = null;
    }
    
    // CONTENT /////////////////////////////////////////////////////////////////
    
    protected abstract View onCreateContentView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState);
    
}




Java Source Code List

org.lugatgt.zoogie.introtoandroid.AboutActivity.java
org.lugatgt.zoogie.introtoandroid.MainActivity.java
org.lugatgt.zoogie.introtoandroid.MainPresentation.java
org.lugatgt.zoogie.introtoandroid.slide.AndroidSlide.java
org.lugatgt.zoogie.introtoandroid.slide.ApiHistorySlide.java
org.lugatgt.zoogie.introtoandroid.slide.BasicTextSlide.java
org.lugatgt.zoogie.introtoandroid.slide.ForkThisSlide.java
org.lugatgt.zoogie.introtoandroid.slide.InternalsSlide.java
org.lugatgt.zoogie.introtoandroid.slide.PartsSlide.java
org.lugatgt.zoogie.introtoandroid.slide.TitleSlide.java
org.lugatgt.zoogie.introtoandroid.ui.PartLayer.java
org.lugatgt.zoogie.introtoandroid.ui.PartsView.java
org.lugatgt.zoogie.present.Presentation.java
org.lugatgt.zoogie.present.SlideTransition.java
org.lugatgt.zoogie.present.Slide.java
org.lugatgt.zoogie.present.Transitions.java
org.lugatgt.zoogie.present.ui.AboutActivity.java
org.lugatgt.zoogie.present.ui.PresentationActivity.java
org.lugatgt.zoogie.present.ui.SlideFragment.java
org.lugatgt.zoogie.present.ui.SlideListSpinnerAdapter.java
org.lugatgt.zoogie.present.ui.TitleFragment.java