/**
* @author Jonathan
*/
package com.abewy.android.apps.klyph.fragment;
import uk.co.senab.actionbarpulltorefresh.library.Options;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout.LayoutParams;
import com.abewy.android.apps.klyph.R;
import com.abewy.android.apps.klyph.app.MainActivity;
public class KlyphFakeHeaderListFragment extends KlyphFragment
{
protected int fakeHeaderHeight = -1;
private boolean hasFakeHeader = false;
private View fakeHeaderView;
public void setFakeHeader(boolean hasFakeHeader)
{
this.hasFakeHeader = hasFakeHeader;
}
public void setFakeHeaderHeight(int height)
{
this.fakeHeaderHeight = height;
if (fakeHeaderView != null)
{
android.view.ViewGroup.LayoutParams params = fakeHeaderView.getLayoutParams();
params.height = height;
fakeHeaderView.setLayoutParams(params);
}
}
protected int getSpecialLayout()
{
return 0;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = super.onCreateView(inflater, container, savedInstanceState);
if (hasFakeHeader)
{
fakeHeaderView = getActivity().getLayoutInflater().inflate(R.layout.fake_header_item, getListView(), false);
if (fakeHeaderHeight != -1)
{
android.view.ViewGroup.LayoutParams params = (android.view.ViewGroup.LayoutParams) fakeHeaderView.getLayoutParams();
params.height = fakeHeaderHeight;
fakeHeaderView.setLayoutParams(params);
}
getListView().addHeaderView(fakeHeaderView, null, false);
LayoutParams params = (LayoutParams) getListView().getEmptyView().getLayoutParams();
params.topMargin = fakeHeaderHeight;
getListView().getEmptyView().setLayoutParams(params);
View progress = view.findViewById(android.R.id.progress);
params = (LayoutParams) progress.getLayoutParams();
params.topMargin = fakeHeaderHeight;
params.gravity = Gravity.CENTER_HORIZONTAL|Gravity.TOP;
progress.setLayoutParams(params);
}
return view;
}
@Override
protected Options getPullToRefreshOptions()
{
if (!(getActivity() instanceof MainActivity))
return Options.create().headerLayout(R.layout.ptr_profile_header).build();
return super.getPullToRefreshOptions();
}
}