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;
/*www.java2s.com*/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.models.cards.CaptionedImageCard;
import com.appboy.ui.R;
import com.appboy.ui.actions.ActionFactory;
import com.appboy.ui.actions.IAction;
publicclass CaptionedImageCardView extends BaseCardView<CaptionedImageCard> {
privatefinal ImageView mImage;
privatefinal TextView mTitle;
privatefinal TextView mDescription;
privatefinal TextView mDomain;
private IAction mCardAction;
privatestaticfinal 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.
privatefloat mAspectRatio = 4f / 3f;
public CaptionedImageCardView(Context context) {
this(context, null);
}
public CaptionedImageCardView(final Context context, CaptionedImageCard card) {
super(context);
mImage = (ImageView) findViewById(R.id.com_appboy_captioned_image_card_image);
mTitle = (TextView) findViewById(R.id.com_appboy_captioned_image_title);
mDescription = (TextView) findViewById(R.id.com_appboy_captioned_image_description);
mDomain = (TextView) findViewById(R.id.com_appboy_captioned_image_card_domain);
if (card != null) {
setCard(card);
}
safeSetBackground(getResources().getDrawable(R.drawable.com_appboy_card_background));
}
@Override
protectedint getLayoutResource() {
return R.layout.com_appboy_captioned_image_card;
}
@Override
publicvoid onSetCard(final CaptionedImageCard card) {
mTitle.setText(card.getTitle());
mDescription.setText(card.getDescription());
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() {
@Override
publicvoid onClick(View v) {
card.setIsRead(true);
if (mCardAction != null) {
Log.d(TAG, String.format("Logged click for card %s", card.getId()));
card.logClick();
mCardAction.execute(mContext);
}
}
});
setImageViewToUrl(mImage, card.getImageUrl(), mAspectRatio, respectAspectRatio);
}
}