/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.galaxy.meetup.client.android.R;
/**
*
* @author sihai
*
*/
public class EventActionButtonLayout extends ExactLayout {
private static int sSpacing;
private ImageView mImage;
private TextView mText;
private boolean sInitialized;
public EventActionButtonLayout(Context context)
{
super(context);
init(context, null, 0);
}
public EventActionButtonLayout(Context context, AttributeSet attributeset)
{
super(context, attributeset);
init(context, attributeset, 0);
}
public EventActionButtonLayout(Context context, AttributeSet attributeset, int i)
{
super(context, attributeset, i);
init(context, attributeset, i);
}
private void init(Context context, AttributeSet attributeset, int i)
{
if(!sInitialized)
{
sSpacing = context.getResources().getDimensionPixelSize(R.dimen.event_card_Details_rsvp_action_button_internal_spacing);
sInitialized = true;
}
setClickable(true);
setFocusable(true);
setWillNotDraw(false);
TypedArray typedarray = context.obtainStyledAttributes(attributeset, R.styleable.Theme);
setBackgroundDrawable(typedarray.getDrawable(5));
typedarray.recycle();
mText = new TextView(context, attributeset, R.style.EventsRsvpActionButton);
addView(mText);
mImage = new ImageView(context, attributeset, i);
addView(mImage);
}
public final void bind(String s, Drawable drawable)
{
mImage.setBackgroundDrawable(drawable);
mText.setText(s);
}
protected void onMeasure(int i, int j)
{
int k = android.view.View.MeasureSpec.getSize(i);
int l = android.view.View.MeasureSpec.getSize(j);
measure(mImage, Math.max(0, k + 0), 0x80000000, l, 0);
setCorner(mImage, 0, 0);
int i1 = 0 + (mImage.getMeasuredWidth() + sSpacing);
measure(mText, Math.max(0, k - i1), 0x80000000, l, 0);
setCorner(mText, i1, 0);
int j1 = i1 + mText.getMeasuredWidth();
View aview[] = new View[2];
aview[0] = mImage;
aview[1] = mText;
verticallyCenter(l, aview);
int k1 = (k - j1) / 2;
View aview1[] = new View[2];
aview1[0] = mText;
aview1[1] = mImage;
for(int l1 = Math.max(-1 + aview1.length, 0); l1 >= 0; l1--)
{
View view = aview1[l1];
ExactLayout.LayoutParams layoutparams = (ExactLayout.LayoutParams)view.getLayoutParams();
if(layoutparams != null)
{
layoutparams.x = k1 + layoutparams.x;
layoutparams.y = 0 + layoutparams.y;
view.setLayoutParams(layoutparams);
}
}
setMeasuredDimension(resolveSize(k, i), resolveSize(l, j));
}
}