/**
* 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.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
/**
*
* @author sihai
*
*/
public class HostActionBarWidgetLayout extends ViewGroup {
private int mMaxWidth;
public HostActionBarWidgetLayout(Context context)
{
super(context);
}
public HostActionBarWidgetLayout(Context context, AttributeSet attributeset)
{
super(context, attributeset);
parseAttr(attributeset);
}
public HostActionBarWidgetLayout(Context context, AttributeSet attributeset, int i)
{
super(context, attributeset, i);
parseAttr(attributeset);
}
private void parseAttr(AttributeSet attributeset)
{
TypedArray typedarray = getContext().obtainStyledAttributes(attributeset, new int[] {
0x101011f
});
mMaxWidth = typedarray.getDimensionPixelSize(0, 0);
typedarray.recycle();
}
protected void onLayout(boolean flag, int i, int j, int k, int l)
{
if(getChildCount() == 1)
{
View view = getChildAt(0);
int i1 = view.getMeasuredHeight();
int j1 = (l - j - i1) / 2;
view.layout(0, j1, view.getMeasuredWidth(), j1 + i1);
}
}
protected void onMeasure(int i, int j)
{
if(getChildCount() != 1)
{
setMeasuredDimension(0, 0);
} else
{
View view = getChildAt(0);
int k;
int l;
int i1;
if(view.getLayoutParams().height == -2)
k = android.view.View.MeasureSpec.makeMeasureSpec(android.view.View.MeasureSpec.getSize(j), 0x80000000);
else
k = android.view.View.MeasureSpec.makeMeasureSpec(android.view.View.MeasureSpec.getSize(j), 0x40000000);
l = getLayoutParams().width;
if(l == -2)
view.measure(android.view.View.MeasureSpec.makeMeasureSpec(0, 0), k);
else
view.measure(android.view.View.MeasureSpec.makeMeasureSpec(l, 0x40000000), k);
i1 = resolveSize(mMaxWidth, i);
if(view.getMeasuredWidth() > i1)
view.measure(android.view.View.MeasureSpec.makeMeasureSpec(i1, 0x40000000), k);
setMeasuredDimension(view.getMeasuredWidth(), resolveSize(view.getMeasuredHeight(), j));
}
}
}