Package com.rim.samples.device.ui.wireframelayoutdemo

Source Code of com.rim.samples.device.ui.wireframelayoutdemo.MediaHubScreen

/*
* MediaHubScreen.java
*
* Copyright � 1998-2011 Research In Motion Limited
*
* 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.
*
* Note: For the sake of simplicity, this sample application may not leverage
* resource bundles and resource strings.  However, it is STRONGLY recommended
* that application developers make use of the localization features available
* within the BlackBerry development platform to ensure a seamless application
* experience across a variety of languages and geographies.  For more information
* on localizing your application, please refer to the BlackBerry Java Development
* Environment Development Guide associated with this release.
*/

package com.rim.samples.device.ui.wireframelayoutdemo;

import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.component.BitmapField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.container.VerticalFieldManager;
import net.rim.device.api.ui.decor.BackgroundFactory;
import net.rim.device.api.ui.extension.component.PictureScrollField;

/**
* A screen with a PictureScrollField at the bottom and a centered BitmapField
* above. Changing the selected image in the PictureScrollField causes a
* corresponding image to be displayed in the BitmapField.
*/
public class MediaHubScreen extends MainScreen implements FieldChangeListener {
    private static final String CALL_OUT_TEXT = "Call-out ";

    private final Bitmap[] _bitmapArray = new Bitmap[4];
    private final BitmapField _bitmapField;
    private final PictureScrollField _pictureScrollField;

    /**
     * Creates a new MediaHubScreenScreen object
     */
    public MediaHubScreen() {
        super(NO_VERTICAL_SCROLL);

        setTitle("Media Hub Screen");

        // Create the centered top content
        final HorizontalFieldManager topCenteredArea =
                new HorizontalFieldManager(USE_ALL_HEIGHT | USE_ALL_WIDTH
                        | NO_HORIZONTAL_SCROLL);
        final VerticalFieldManager horizontalPositioning =
                new VerticalFieldManager(USE_ALL_WIDTH | NO_VERTICAL_SCROLL
                        | Field.FIELD_VCENTER);
        topCenteredArea.add(horizontalPositioning);

        // Initialize the bitmap array
        _bitmapArray[0] = Bitmap.getBitmapResource("berry.jpg");
        _bitmapArray[1] = Bitmap.getBitmapResource("logo_blue.jpg");
        _bitmapArray[2] = Bitmap.getBitmapResource("logo_black.jpg");
        _bitmapArray[3] = Bitmap.getBitmapResource("building.jpg");

        // Add a bitmap field to the centered top content
        _bitmapField = new BitmapField(_bitmapArray[0], Field.FIELD_HCENTER);
        horizontalPositioning.add(_bitmapField);

        // Initialize an array of scroll entries
        final PictureScrollField.ScrollEntry[] entries =
                new PictureScrollField.ScrollEntry[4];
        entries[0] =
                new PictureScrollField.ScrollEntry(_bitmapArray[0],
                        "BlackBerry", CALL_OUT_TEXT + 1);
        entries[1] =
                new PictureScrollField.ScrollEntry(_bitmapArray[1],
                        "Blue logo", CALL_OUT_TEXT + 2);
        entries[2] =
                new PictureScrollField.ScrollEntry(_bitmapArray[2],
                        "Black logo", CALL_OUT_TEXT + 3);
        entries[3] =
                new PictureScrollField.ScrollEntry(_bitmapArray[3], "Building",
                        CALL_OUT_TEXT + 4);

        // Initialize the picture scroll field
        _pictureScrollField = new PictureScrollField(150, 50);
        _pictureScrollField.setData(entries, 0);
        _pictureScrollField
                .setHighlightStyle(PictureScrollField.HighlightStyle.ILLUMINATE);
        _pictureScrollField.setHighlightBorderColor(Color.RED);
        _pictureScrollField.setBackground(BackgroundFactory
                .createSolidBackground(Color.LIGHTBLUE));
        _pictureScrollField.setLabelsVisible(true);
        _pictureScrollField.setCenteredLens(true);
        _pictureScrollField.setChangeListener(this);

        // Combine the top and bottom elements using a
        // JustifiedVerticalFieldManager
        final JustifiedVerticalFieldManager bodyManager =
                new JustifiedVerticalFieldManager(topCenteredArea,
                        _pictureScrollField, false);

        // Add the justified manager to the screen
        add(bodyManager);
    }

    /**
     * @see FieldChangeListener#fieldChanged(Field, int)
     */
    public void fieldChanged(final Field field, final int context) {
        if (field == _pictureScrollField) {
            // Set the centered bitmap to be that which is selected
            // in the picture scroll field.
            final int currentIndex = _pictureScrollField.getCurrentImageIndex();
            _bitmapField.setBitmap(_bitmapArray[currentIndex]);
        }
    }
}
TOP

Related Classes of com.rim.samples.device.ui.wireframelayoutdemo.MediaHubScreen

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.