Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit 822cd21

Browse files
committed
Add toolbar space to top
1 parent 76fe9b7 commit 822cd21

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

app/src/main/java/com/zulip/android/activities/MessageListFragment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242

4343

4444
public class MessageListFragment extends Fragment implements MessageListener {
45+
private static final int PIXEL_OFFSET_MESSAGE_HEADERS = 24;
4546
private LinearLayoutManager linearLayoutManager;
4647

4748
/**
@@ -142,7 +143,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
142143
linearLayoutManager = new LinearLayoutManager(getContext());
143144
recyclerView.setLayoutManager(linearLayoutManager);
144145
adapter = new RecyclerMessageAdapter(messageList, getActivity(), (filter==null));
145-
recyclerView.addItemDecoration(new HeaderSpaceItemDecoration(24));
146+
recyclerView.addItemDecoration(new HeaderSpaceItemDecoration(PIXEL_OFFSET_MESSAGE_HEADERS, getContext()));
146147
recyclerView.setAdapter(adapter);
147148
registerForContextMenu(recyclerView);
148149
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

app/src/main/java/com/zulip/android/activities/RecyclerMessageAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class RecyclerMessageAdapter extends RecyclerView.Adapter<RecyclerView.Vi
4242

4343
public static final int VIEWTYPE_MESSAGE_HEADER = 1;
4444
private static final int VIEWTYPE_MESSAGE = 2;
45-
private static final int VIEWTYPE_HEADER = 3; //At position 0
45+
public static final int VIEWTYPE_HEADER = 3; //At position 0
4646
private static final int VIEWTYPE_FOOTER = 4; //At end position
4747
private boolean startedFromFilter;
4848
private static String privateHuddleText;

app/src/main/java/com/zulip/android/viewholders/HeaderSpaceItemDecoration.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.zulip.android.viewholders;
22

3+
import android.content.Context;
34
import android.graphics.Rect;
45
import android.support.v7.widget.RecyclerView;
6+
import android.util.TypedValue;
57
import android.view.View;
68

79
import com.zulip.android.activities.RecyclerMessageAdapter;
@@ -10,8 +12,14 @@ public class HeaderSpaceItemDecoration extends RecyclerView.ItemDecoration {
1012

1113
private final int verticalMargin;
1214

13-
public HeaderSpaceItemDecoration(int verticalMargin) {
15+
private int toolbarHeight;
16+
17+
public HeaderSpaceItemDecoration(int verticalMargin, Context context) {
1418
this.verticalMargin = verticalMargin;
19+
TypedValue tv = new TypedValue();
20+
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
21+
toolbarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
22+
}
1523
}
1624

1725
@Override
@@ -23,6 +31,8 @@ public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
2331
int viewType = parent.getAdapter().getItemViewType(position);
2432
if (viewType == RecyclerMessageAdapter.VIEWTYPE_MESSAGE_HEADER && position != 0) {
2533
outRect.top = verticalMargin;
34+
} else if (viewType == RecyclerMessageAdapter.VIEWTYPE_HEADER) {
35+
outRect.top = toolbarHeight;
2636
}
2737
}
2838
}

0 commit comments

Comments
 (0)