Android Open Source - appboy-android-sdk Captioned Image Card View

From Project

Back to project page appboy-android-sdk.


The source code is released under:

Copyright (c) 2014 Appboy, Inc. All rights reserved. * Use of source code or binaries contained within Appboy's Android SDK is permitted only to enable use of the Appboy platform by customers of Appb...

If you think the Android project appboy-android-sdk 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

package com.appboy.ui.widget;
/*  ww  w .j  av  a 2s.  c o m*/
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.appboy.Appboy;
import com.appboy.Constants;
import com.appboy.ui.R;
import com.appboy.ui.actions.ActionFactory;
import com.appboy.ui.actions.IAction;

public class CaptionedImageCardView extends BaseCardView<CaptionedImageCard> {
  private final ImageView mImage;
  private final TextView mTitle;
  private final TextView mDescription;
  private final TextView mDomain;
  private IAction mCardAction;
  private static final String TAG = String.format("%s.%s", Constants.APPBOY, CaptionedImageCardView.class.getName());

  // We set this card's aspect ratio here as a first guess. If the server doesn't send down an
  // aspect ratio, then this value will be the aspect ratio of the card on render.
  private float mAspectRatio = 4f / 3f;

  public CaptionedImageCardView(Context context) {
    this(context, null);

  public CaptionedImageCardView(final Context context, CaptionedImageCard card) {
    mImage = (ImageView) findViewById(;
    mTitle = (TextView) findViewById(;
    mDescription = (TextView) findViewById(;
    mDomain = (TextView) findViewById(;

    if (card != null) {


  protected int getLayoutResource() {
    return R.layout.com_appboy_captioned_image_card;

  public void onSetCard(final CaptionedImageCard card) {
    setOptionalTextView(mDomain, card.getDomain());
    mCardAction = ActionFactory.createUriAction(getContext(), card.getUrl());
    boolean respectAspectRatio = false;
    if (card.getAspectRatio() != 0f){
      mAspectRatio = card.getAspectRatio();
      respectAspectRatio = true;

    setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
        if (mCardAction != null) {
          Log.d(TAG, String.format("Logged click for card %s", card.getId()));

    setImageViewToUrl(mImage, card.getImageUrl(), mAspectRatio, respectAspectRatio);

Java Source Code List