Collapse title into toolbar on scroll in ManageGroupFragment.

This commit is contained in:
Alex Hart
2020-05-26 12:06:30 -03:00
committed by Greyson Parrelli
parent 12b1232ac0
commit 090c400037
4 changed files with 367 additions and 357 deletions

View File

@@ -5,7 +5,6 @@ import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
import org.thoughtcrime.securesms.R;
@@ -39,10 +38,6 @@ public class ManageGroupActivity extends PassphraseRequiredActionBarActivity {
.replace(R.id.container, ManageGroupFragment.newInstance(getIntent().getStringExtra(GROUP_ID)))
.commitNow();
}
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//noinspection ConstantConditions
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
@@ -50,10 +45,4 @@ public class ManageGroupActivity extends PassphraseRequiredActionBarActivity {
super.onResume();
dynamicTheme.onResume(this);
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
}

View File

@@ -16,6 +16,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
@@ -62,7 +63,7 @@ public class ManageGroupFragment extends Fragment {
private ManageGroupViewModel viewModel;
private GroupMemberListView groupMemberList;
private View listPending;
private TextView groupTitle;
private Toolbar toolbar;
private TextView memberCountUnderAvatar;
private TextView memberCountAboveList;
private AvatarImageView avatar;
@@ -119,7 +120,7 @@ public class ManageGroupFragment extends Fragment {
View view = inflater.inflate(R.layout.group_manage_fragment, container, false);
avatar = view.findViewById(R.id.group_avatar);
groupTitle = view.findViewById(R.id.group_title);
toolbar = view.findViewById(R.id.toolbar);
memberCountUnderAvatar = view.findViewById(R.id.member_count);
memberCountAboveList = view.findViewById(R.id.member_count_2);
groupMemberList = view.findViewById(R.id.group_members);
@@ -185,7 +186,9 @@ public class ManageGroupFragment extends Fragment {
avatar.setFallbackPhotoProvider(fallbackPhotoProvider);
viewModel.getTitle().observe(getViewLifecycleOwner(), groupTitle::setText);
toolbar.setNavigationOnClickListener(v -> requireActivity().finish());
viewModel.getTitle().observe(getViewLifecycleOwner(), toolbar::setTitle);
viewModel.getMemberCountSummary().observe(getViewLifecycleOwner(), memberCountUnderAvatar::setText);
viewModel.getFullMemberCountSummary().observe(getViewLifecycleOwner(), memberCountAboveList::setText);
viewModel.getGroupRecipient().observe(getViewLifecycleOwner(), avatar::setRecipient);

View File

@@ -7,15 +7,6 @@
android:orientation="vertical"
tools:context=".groups.ui.managegroup.ManageGroupActivity">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:title=" "
app:titleTextColor="?attr/title_text_color_primary" />
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"

View File

@@ -1,28 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/pending_member_background"
android:fillViewport="true"
tools:context=".groups.ui.managegroup.ManageGroupFragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView
android:id="@+id/group_title_card"
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="?android:attr/windowBackground"
app:layout_constraintTop_toTopOf="parent">
android:background="?android:attr/windowBackground"
android:elevation="4dp"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
app:scrimAnimationDuration="200"
app:contentScrim="?android:attr/windowBackground"
app:expandedTitleGravity="center_horizontal"
app:expandedTitleMarginTop="156dp"
app:expandedTitleTextAppearance="@style/TextAppearance.Signal.Body1.Bold"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="16dp"
android:paddingBottom="16dp">
<org.thoughtcrime.securesms.components.AvatarImageView
@@ -32,13 +38,12 @@
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/group_title"
style="@style/TextAppearance.Signal.Body1.Bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="14dp"
tools:text="Parkdale Run Crew" />
tools:text=" " />
<TextView
android:id="@+id/member_count"
@@ -48,10 +53,30 @@
android:textAppearance="@style/TextAppearance.Signal.Body2"
android:textColor="?title_text_color_secondary"
tools:text="12 members (4 invited)" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:navigationIcon="@drawable/ic_arrow_left_24"
tools:title="Parkdake Run Crew" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/pending_member_background"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView
android:id="@+id/group_disappearing_messages_card"
@@ -59,7 +84,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/group_manage_fragment_card_vertical_padding"
app:cardBackgroundColor="?android:attr/windowBackground"
app:layout_constraintTop_toBottomOf="@id/group_title_card">
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:id="@+id/disappearing_messages_row"
@@ -431,3 +456,5 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>