package com.hannesdorfmann.mosby3.sample.mail.ui.transition;
import android.annotation.TargetApi;
import android.app.SharedElementCallback;
import android.content.Context;
import android.content.res.Resources;
import android.util.TypedValue;
import android.view.View;
import android.widget.TextView;
import com.hannesdorfmann.mosby3.sample.mail.R;
import java.util.List;
@TargetApi(21)
public class TextSizeEnterSharedElementCallback extends SharedElementCallback {
private static final String TAG = "EnterSharedElementCallback";
private final float mStartTextSize;
private final float mEndTextSize;
public TextSizeEnterSharedElementCallback(Context context) {
Resources res = context.getResources();
mStartTextSize = res.getDimensionPixelSize(R.dimen.list_mail_item_subject_text_size);
mEndTextSize = res.getDimensionPixelSize(R.dimen.details_subject_text_size);
}
@Override
public void onSharedElementStart(List<String> sharedElementNames, List<View> sharedElements,
List<View> sharedElementSnapshots) {
TextView textView = findTextView(sharedElements);
// Setup the TextView's start values.
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mStartTextSize);
}
@TargetApi(21) private TextView findTextView(List<View> sharedElements) {
for (View v : sharedElements) {
if (v.getTransitionName().equals(v.getResources().getString(R.string.shared_mail_subject))) {
return (TextView) v;
}
}
return null;
}
@Override
public void onSharedElementEnd(List<String> sharedElementNames, List<View> sharedElements,
List<View> sharedElementSnapshots) {
TextView textView = findTextView(sharedElements);
// Setup the TextView's end values.
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mEndTextSize);
}
}