mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-23 22:51:02 +00:00
Small behavior improvement
This commit is contained in:
parent
1adb42f0bd
commit
be44b781d5
2 changed files with 23 additions and 10 deletions
|
@ -300,6 +300,15 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
super.itemView.getBottom());
|
||||
}
|
||||
|
||||
void setDisplacement(float dx) {
|
||||
ViewGroup group = (ViewGroup) itemView;
|
||||
for (int i = 0; i < group.getChildCount(); i++) {
|
||||
View child = group.getChildAt(i);
|
||||
if (child.getId() != R.id.tvDay && child.getId() != R.id.vSeparatorDay)
|
||||
child.setTranslationX(dx);
|
||||
}
|
||||
}
|
||||
|
||||
private void wire() {
|
||||
final View touch = (viewType == ViewType.THREAD && threading ? ivExpander : vwColor);
|
||||
touch.setOnClickListener(this);
|
||||
|
|
|
@ -575,7 +575,12 @@ public class FragmentMessages extends FragmentBase {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onChildDraw(Canvas canvas, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
|
||||
public void onChildDraw(
|
||||
Canvas canvas, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
|
||||
float dX, float dY, int actionState, boolean isCurrentlyActive) {
|
||||
AdapterMessage.ViewHolder holder = ((AdapterMessage.ViewHolder) viewHolder);
|
||||
holder.setDisplacement(dX);
|
||||
|
||||
TupleMessageEx message = getMessage(viewHolder);
|
||||
if (message == null)
|
||||
return;
|
||||
|
@ -584,32 +589,31 @@ public class FragmentMessages extends FragmentBase {
|
|||
if (swipes == null)
|
||||
return;
|
||||
|
||||
Rect rect = ((AdapterMessage.ViewHolder) viewHolder).getItemRect();
|
||||
Rect rect = holder.getItemRect();
|
||||
int margin = Helper.dp2pixels(getContext(), 12);
|
||||
int size = Helper.dp2pixels(getContext(), 24);
|
||||
|
||||
if (dX > margin) {
|
||||
// Right swipe
|
||||
Drawable d = getResources().getDrawable(getIcon(swipes.right_type), getContext().getTheme());
|
||||
int padding = (rect.height() - d.getIntrinsicHeight());
|
||||
int padding = (rect.height() - size);
|
||||
d.setBounds(
|
||||
rect.left + margin,
|
||||
rect.top + padding / 2,
|
||||
rect.left + margin + d.getIntrinsicWidth(),
|
||||
rect.top + padding / 2 + d.getIntrinsicHeight());
|
||||
rect.left + margin + size,
|
||||
rect.top + padding / 2 + size);
|
||||
d.draw(canvas);
|
||||
} else if (dX < -margin) {
|
||||
// Left swipe
|
||||
Drawable d = getResources().getDrawable(getIcon(swipes.left_type), getContext().getTheme());
|
||||
int padding = (rect.height() - d.getIntrinsicHeight());
|
||||
int padding = (rect.height() - size);
|
||||
d.setBounds(
|
||||
rect.left + rect.width() - d.getIntrinsicWidth() - margin,
|
||||
rect.left + rect.width() - size - margin,
|
||||
rect.top + padding / 2,
|
||||
rect.left + rect.width() - margin,
|
||||
rect.top + padding / 2 + d.getIntrinsicHeight());
|
||||
rect.top + padding / 2 + size);
|
||||
d.draw(canvas);
|
||||
}
|
||||
|
||||
super.onChildDraw(canvas, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue