/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
/**
*
* @author sihai
*
*/
public class LinearLayoutWithLayoutNotifications extends LinearLayout {
private LayoutListener mLayoutListener;
private int mMaxWidth;
public LinearLayoutWithLayoutNotifications(Context context)
{
super(context);
mMaxWidth = -1;
}
public LinearLayoutWithLayoutNotifications(Context context, AttributeSet attributeset)
{
super(context, attributeset);
mMaxWidth = -1;
}
public LinearLayoutWithLayoutNotifications(Context context, AttributeSet attributeset, int i)
{
super(context, attributeset, i);
mMaxWidth = -1;
}
public void onLayout(boolean flag, int i, int j, int k, int l)
{
super.onLayout(flag, i, j, k, l);
if(mLayoutListener != null)
{
LayoutListener _tmp = mLayoutListener;
}
}
public void onMeasure(int i, int j)
{
super.onMeasure(i, j);
if(mMaxWidth > 0 && getMeasuredWidth() > mMaxWidth)
super.onMeasure(android.view.View.MeasureSpec.makeMeasureSpec(mMaxWidth, 0x40000000), j);
if(mLayoutListener != null)
mLayoutListener.onMeasured(this);
}
protected void onSizeChanged(int i, int j, int k, int l)
{
super.onSizeChanged(i, j, k, l);
if(mLayoutListener != null)
{
LayoutListener _tmp = mLayoutListener;
}
}
public void setLayoutListener(LayoutListener layoutlistener)
{
mLayoutListener = layoutlistener;
}
public void setMaxWidth(int i)
{
mMaxWidth = i;
}
public static interface LayoutListener {
public abstract void onMeasured(View view);
}
}