Skip to content

Commit 4365b53

Browse files
committed
change height of GridViewWithHeaderAndFooter
1 parent d336fda commit 4365b53

File tree

3 files changed

+33
-15
lines changed

3 files changed

+33
-15
lines changed

res/layout/grid_view_footer.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
android:layout_height="wrap_content">
55

66
<TextView
7+
android:id="@+id/grid_view_footer_text_view"
78
android:layout_width="match_parent"
89
android:layout_height="100dp"
910
android:layout_marginBottom="10dp"
1011
android:background="@color/cube_mints_main_color"
1112
android:gravity="center"
12-
android:text="FOOTER"
13+
android:text="@string/cube_demo_grid_increase_height"
1314
android:textColor="@color/cube_mints_white"
1415
android:textSize="14dp" />
1516
</FrameLayout>

res/values/cube_demo_strings.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
<string name="cube_demo_load_more_grid_view">Load More for GridView</string>
2828

2929
<string name="cube_demo_grid_view_with_header_and_footer">GridViewWithHeaderAndFooter</string>
30-
<string name="cube_demo_grid_header_height_changed">The height of header has been changed.</string>
30+
<string name="cube_demo_grid_increase_height">Click to increase height.</string>
31+
<string name="cube_demo_grid_decrease_height">Click to decrease height.</string>
3132
<string name="cube_demo_slider_banner">Slider Banner</string>
3233

3334
<string name="cube_demo_request_demo">Request and Request Cache</string>

src/in/srain/cube/demo/ui/fragment/GridViewWithHeaderAndFooterFragment.java

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ public class GridViewWithHeaderAndFooterFragment extends TitleBaseFragment {
2727
private ImageLoader mImageLoader;
2828
private ListViewDataAdapter<ImageListItem> mAdapter;
2929
private PtrClassicFrameLayout mPtrFrame;
30-
private View mHeaderView;
31-
private TextView mHeaderTextView;
3230

3331
@Override
3432
protected View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -40,17 +38,41 @@ protected View createView(LayoutInflater inflater, ViewGroup container, Bundle s
4038

4139
final GridViewWithHeaderAndFooter gridView = (GridViewWithHeaderAndFooter) view.findViewById(R.id.grid_view_with_header_and_footer);
4240

43-
mHeaderView = inflater.inflate(R.layout.grid_view_header, null);
44-
mHeaderTextView = (TextView) mHeaderView.findViewById(R.id.grid_view_header_text_view);
45-
mHeaderView.setOnClickListener(new View.OnClickListener() {
41+
View headerView = inflater.inflate(R.layout.grid_view_header, null);
42+
headerView.setOnClickListener(new View.OnClickListener() {
4643
@Override
4744
public void onClick(View v) {
4845
mPtrFrame.autoRefresh();
4946
}
5047
});
5148

52-
View footerView = inflater.inflate(R.layout.grid_view_footer, null);
53-
gridView.addHeaderView(mHeaderView);
49+
// change height: https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter/issues/12#issuecomment-70129036
50+
View headerView2 = inflater.inflate(R.layout.grid_view_header, null);
51+
final TextView headTextView = (TextView) headerView2.findViewById(R.id.grid_view_header_text_view);
52+
headTextView.setText(R.string.cube_demo_grid_increase_height);
53+
headerView2.setOnClickListener(new View.OnClickListener() {
54+
private boolean high = false;
55+
56+
@Override
57+
public void onClick(View v) {
58+
FrameLayout.LayoutParams lyp = (FrameLayout.LayoutParams) headTextView.getLayoutParams();
59+
if (high) {
60+
high = false;
61+
lyp.height = LocalDisplay.dp2px(100);
62+
headTextView.setText(R.string.cube_demo_grid_increase_height);
63+
} else {
64+
high = true;
65+
lyp.height = LocalDisplay.dp2px(200);
66+
headTextView.setText(R.string.cube_demo_grid_decrease_height);
67+
}
68+
headTextView.setLayoutParams(lyp);
69+
mAdapter.notifyDataSetChanged();
70+
}
71+
});
72+
73+
final View footerView = inflater.inflate(R.layout.grid_view_footer, null);
74+
gridView.addHeaderView(headerView);
75+
gridView.addHeaderView(headerView2);
5476
gridView.addFooterView(footerView);
5577

5678
mAdapter = new ListViewDataAdapter<ImageListItem>();
@@ -84,12 +106,6 @@ public void onData(ImageListData data, CacheAbleRequest.ResultType type, boolean
84106
mAdapter.getDataList().addAll(data.imageList);
85107
mAdapter.notifyDataSetChanged();
86108
mPtrFrame.refreshComplete();
87-
88-
// increase height: https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter/issues/12#issuecomment-70129036
89-
FrameLayout.LayoutParams lyp = (FrameLayout.LayoutParams) mHeaderTextView.getLayoutParams();
90-
lyp.height = LocalDisplay.dp2px(100 + 100);
91-
mHeaderTextView.setText(R.string.cube_demo_grid_header_height_changed);
92-
mHeaderTextView.setLayoutParams(lyp);
93109
}
94110
});
95111
}

0 commit comments

Comments
 (0)