Back to project page ZShaolin.
The source code is released under:
GNU General Public License
If you think the Android project ZShaolin listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) 2011 Steven Luo/* w w w . j a va2 s. c o 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 com.spartacusrex.spartacuside; import java.util.Iterator; import android.content.Context; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; import android.widget.Toast; import android.widget.ViewFlipper; public class TermViewFlipper extends ViewFlipper implements Iterable<View> { private Context context; private Toast mToast; class ViewFlipperIterator implements Iterator<View> { int pos = 0; public boolean hasNext() { return (pos < getChildCount()); } public View next() { return getChildAt(pos++); } public void remove() { throw new UnsupportedOperationException(); } } public TermViewFlipper(Context context) { super(context); this.context = context; } public TermViewFlipper(Context context, AttributeSet attrs) { super(context, attrs); this.context = context; } public Iterator<View> iterator() { return new ViewFlipperIterator(); } public void pauseCurrentView() { EmulatorView view = (EmulatorView) getCurrentView(); if (view == null) { return; } view.onPause(); } public void resumeCurrentView() { EmulatorView view = (EmulatorView) getCurrentView(); if (view == null) { return; } view.onResume(); } private void showTitle() { if (getChildCount() == 0) { return; } String title = "Terminal " + (getDisplayedChild()+1); if (mToast == null) { mToast = Toast.makeText(context, title, Toast.LENGTH_SHORT); } else { mToast.setText(title); } mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } @Override public void showPrevious() { pauseCurrentView(); super.showPrevious(); showTitle(); resumeCurrentView(); } @Override public void showNext() { pauseCurrentView(); super.showNext(); showTitle(); resumeCurrentView(); } @Override public void setDisplayedChild(int position) { pauseCurrentView(); super.setDisplayedChild(position); showTitle(); resumeCurrentView(); } }