Android Open Source - gdk-apidemo-sample-master Card Builder Activity






From Project

Back to project page gdk-apidemo-sample-master.

License

The source code is released under:

Apache License

If you think the Android project gdk-apidemo-sample-master 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) 2013 The Android Open Source Project
 */*from   ww  w . j  a  va 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 com.google.android.glass.sample.apidemo.card;

import com.google.android.glass.sample.apidemo.R;
import com.google.android.glass.widget.CardBuilder;
import com.google.android.glass.widget.CardScrollView;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;

import java.util.ArrayList;
import java.util.List;

/**
 * Creates a card scroll view with examples of different image layout cards.
 */
public final class CardBuilderActivity extends Activity {

    private CardScrollView mCardScroller;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        mCardScroller = new CardScrollView(this);
        mCardScroller.setAdapter(new CardAdapter(createCards(this)));
        setContentView(mCardScroller);
    }

    /**
     * Creates list of cards that showcase different type of {@link CardBuilder} API.
     */
    private List<CardBuilder> createCards(Context context) {
        ArrayList<CardBuilder> cards = new ArrayList<CardBuilder>();

        // Add cards that demonstrate TEXT layouts.
        cards.add(new CardBuilder(context, CardBuilder.Layout.TEXT)
                .setText(R.string.text_card_text_not_fixed)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));
        cards.add(createCardWithImages(context, CardBuilder.Layout.TEXT)
                .setText(R.string.text_card_text_with_images)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));
        cards.add(new CardBuilder(context, CardBuilder.Layout.TEXT_FIXED)
                .setText(R.string.text_card_text_fixed)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));
        cards.add(new CardBuilder(context, CardBuilder.Layout.TEXT)
                .setText(R.string.text_card_text_stack_indicator)
                .showStackIndicator(true)
                .setAttributionIcon(R.drawable.ic_smile));

        // Add cards that demonstrate COLUMNS layouts.
        cards.add(createCardWithImages(context, CardBuilder.Layout.COLUMNS)
                .setText(R.string.text_card_columns_not_fixed)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));
        cards.add(new CardBuilder(context, CardBuilder.Layout.COLUMNS)
                .setText(R.string.text_card_columns_with_icon)
                .setIcon(R.drawable.ic_wifi_150)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));
        cards.add(createCardWithImages(context, CardBuilder.Layout.COLUMNS)
                .setText(R.string.text_card_columns_fixed)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));

        // Add cards that demonstrate CAPTION layouts.
        cards.add(new CardBuilder(context, CardBuilder.Layout.CAPTION)
                .addImage(R.drawable.beach)
                .setText(R.string.text_card_caption)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));
        cards.add(new CardBuilder(context, CardBuilder.Layout.CAPTION)
                .addImage(R.drawable.beach)
                .setText(R.string.text_card_caption_with_icon)
                .setIcon(R.drawable.ic_avatar_70)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));

        // Add cards that demonstrate TITLE layouts.
        cards.add(new CardBuilder(context, CardBuilder.Layout.TITLE)
                .addImage(R.drawable.beach)
                .setText(R.string.text_card_title));
        cards.add(new CardBuilder(context, CardBuilder.Layout.TITLE)
                .addImage(R.drawable.beach)
                .setText(R.string.text_card_title_icon)
                .setIcon(R.drawable.ic_phone_50));

        // Add cards that demonstrate MENU layouts.
        cards.add(new CardBuilder(context, CardBuilder.Layout.MENU)
                .setText(R.string.text_card_menu)
                .setFootnote(R.string.text_card_menu_description)
                .setIcon(R.drawable.ic_phone_50));

        // Add cards that demonstrate ALERT layouts.
        cards.add(new CardBuilder(context, CardBuilder.Layout.ALERT)
                .setText(R.string.text_card_alert)
                .setFootnote(R.string.text_card_alert_description)
                .setIcon(R.drawable.ic_warning_150));

        // Add cards that demonstrate AUTHOR layouts.
        cards.add(new CardBuilder(context, CardBuilder.Layout.AUTHOR)
                .setText(R.string.text_card_author_text)
                .setIcon(R.drawable.ic_avatar_70)
                .setHeading(R.string.text_card_author_heading)
                .setSubheading(R.string.text_card_author_subheading)
                .setFootnote(R.string.text_card_footnote)
                .setTimestamp(R.string.text_card_timestamp)
                .setAttributionIcon(R.drawable.ic_smile));

        return cards;
    }

    /**
     * Returns a new {@link CardBuilder} with the specified layout and adds five images to it for
     * the mosaic.
     */
    private static CardBuilder createCardWithImages(Context context, CardBuilder.Layout layout) {
        CardBuilder card = new CardBuilder(context, layout);
        card.addImage(R.drawable.codemonkey1);
        card.addImage(R.drawable.codemonkey2);
        card.addImage(R.drawable.codemonkey3);
        card.addImage(R.drawable.codemonkey4);
        card.addImage(R.drawable.codemonkey5);
        card.addImage(R.drawable.codemonkey6);
        card.addImage(R.drawable.codemonkey7);
        card.addImage(R.drawable.codemonkey8);
        return card;
    }

    @Override
    protected void onResume() {
        super.onResume();
        mCardScroller.activate();
    }

    @Override
    protected void onPause() {
        mCardScroller.deactivate();
        super.onPause();
    }
}




Java Source Code List

com.google.android.glass.sample.apidemo.ApiDemoActivity.java
com.google.android.glass.sample.apidemo.BuildConfig.java
com.google.android.glass.sample.apidemo.card.CardAdapter.java
com.google.android.glass.sample.apidemo.card.CardBuilderActivity.java
com.google.android.glass.sample.apidemo.card.CardScrollViewActivity.java
com.google.android.glass.sample.apidemo.card.EmbeddedCardLayoutActivity.java
com.google.android.glass.sample.apidemo.card.EmbeddedCardLayoutAdapter.java
com.google.android.glass.sample.apidemo.card.SimpleTableItem.java
com.google.android.glass.sample.apidemo.opengl.CubeRenderer.java
com.google.android.glass.sample.apidemo.opengl.Cube.java
com.google.android.glass.sample.apidemo.opengl.MenuActivity.java
com.google.android.glass.sample.apidemo.opengl.OpenGlService.java
com.google.android.glass.sample.apidemo.slider.SliderActivity.java
com.google.android.glass.sample.apidemo.theming.TextAppearanceActivity.java
com.google.android.glass.sample.apidemo.theming.TextAppearanceAdapter.java
com.google.android.glass.sample.apidemo.touchpad.ContinuousGesturesActivity.java
com.google.android.glass.sample.apidemo.touchpad.DiscreteGesturesActivity.java
com.google.android.glass.sample.apidemo.touchpad.SelectGestureDemoActivity.java
com.google.android.glass.sample.apidemo.touchpad.TouchpadView.java
com.google.android.glass.sample.apidemo.voicemenu.VoiceMenuActivity.java