Sostituita completamente l'implementazione della WaterfallToolbar con una ElevatedToolbar customizzata

This commit is contained in:
Giuseppe Scorrano 2019-03-04 12:43:51 +01:00
parent 3a16176b6d
commit 46b58cb7c0
7 changed files with 101 additions and 26 deletions

View File

@ -121,7 +121,7 @@ public class MainActivity extends AppCompatActivity
@Override
public boolean onNavigationItemSelected(MenuItem item) {
mBinding.appBarMain.waterfallToolbar.resetAll();
// mBinding.appBarMain.waterfallToolbar.resetAll();
// Handle navigation view item clicks here.
Fragment fragment = null;
@ -205,7 +205,8 @@ public class MainActivity extends AppCompatActivity
}
if(fragment instanceof IScrollableFragment) {
((IScrollableFragment) fragment).setWaterfallToolbar(mBinding.appBarMain.waterfallToolbar);
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
// ((IScrollableFragment) fragment).setWaterfallToolbar(mBinding.appBarMain.waterfallToolbar);
}
if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isEnabled()) {

View File

@ -1,9 +1,9 @@
package it.integry.integrywmsnative.core.interfaces;
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
public interface IScrollableFragment {
void setWaterfallToolbar(WaterfallToolbar waterfallToolbar);
void setScrollToolbar(ElevatedToolbar toolbar);
}

View File

@ -6,6 +6,7 @@ import android.content.Context;
import android.content.Intent;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.appcompat.widget.Toolbar;
import androidx.databinding.DataBindingUtil;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
@ -45,12 +46,12 @@ import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneGroupedInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione.dto.OrdineAccettazioneInevasoDTO;
import it.integry.integrywmsnative.gest.accettazione_ordine_inevaso.AccettazioneOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
public class MainAccettazioneFragment extends Fragment implements ISearcableFragment, ITitledFragment, IScrollableFragment {
private static WaterfallToolbar mWaterfallToolbar;
private ElevatedToolbar mToolbar;
private FragmentMainAccettazioneBinding mBinding;
@ -108,7 +109,7 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
ButterKnife.bind(this, mBinding.getRoot());
if(mWaterfallToolbar != null) mWaterfallToolbar.setRecyclerView(mBinding.accettazioneMainList);
mToolbar.setRecyclerView(mBinding.accettazioneMainList);
return mBinding.getRoot();
}
@ -347,9 +348,8 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
return true;
}
@Override
public void setWaterfallToolbar(WaterfallToolbar waterfallToolbar) {
mWaterfallToolbar = waterfallToolbar;
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
}
}

View File

@ -39,9 +39,8 @@ import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
import it.integry.integrywmsnative.core.settings.SettingsManager;
import it.integry.integrywmsnative.core.utility.UtilityExceptions;
import it.integry.integrywmsnative.core.utility.UtilityString;
import it.integry.integrywmsnative.core.wifi.WiFiCheckerViewHolder;
import it.integry.integrywmsnative.databinding.FragmentMainBinding;
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
/**
* A simple {@link Fragment} subclass.
@ -52,7 +51,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
private FragmentMainBinding mBindings;
private WaterfallToolbar mWaterfallToolbar;
private ElevatedToolbar mToolbar;
public MainFragment() {
}
@ -78,7 +77,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
ButterKnife.bind(this, mBindings.getRoot());
if(mWaterfallToolbar != null) mWaterfallToolbar.setNestedScrollView(mBindings.fragmentMainScrollview);
mToolbar.setNestedScrollView(mBindings.fragmentMainScrollview);
init();
return mBindings.getRoot();
@ -206,7 +205,7 @@ public class MainFragment extends Fragment implements ITitledFragment, IScrollab
}
@Override
public void setWaterfallToolbar(WaterfallToolbar waterfallToolbar) {
mWaterfallToolbar = waterfallToolbar;
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
}
}

View File

@ -50,12 +50,12 @@ import it.integry.integrywmsnative.gest.vendita.dto.OrdineVenditaInevasoDTO;
import it.integry.integrywmsnative.gest.vendita.dto.PickingObjectDTO;
import it.integry.integrywmsnative.gest.vendita.viewmodel.VenditaViewModel;
import it.integry.integrywmsnative.gest.vendita_ordine_inevaso.VenditaOrdineInevasoActivity;
import it.integry.integrywmsnative.ui.ElevatedToolbar;
import it.integry.integrywmsnative.view.dialogs.DialogSimpleMessageHelper;
import it.integry.plugins.waterfalltoolbar.WaterfallToolbar;
public class MainVenditaFragment extends Fragment implements ITitledFragment, IScrollableFragment, ISelectAllFragment, IFilterableFragment {
private WaterfallToolbar mWaterfallToolbar;
private ElevatedToolbar mToolbar;
private VenditaHelper mHelper;
private FragmentMainVenditaBinding mBinding = null;
@ -118,7 +118,8 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
ButterKnife.bind(this, mBinding.getRoot());
if(mWaterfallToolbar != null) mWaterfallToolbar.setRecyclerView(mBinding.venditaMainList);
// if(mWaterfallToolbar != null) mWaterfallToolbar.setRecyclerView(mBinding.venditaMainList);
mToolbar.setRecyclerView(mBinding.venditaMainList);
return mBinding.getRoot();
}
@ -379,11 +380,9 @@ public class MainVenditaFragment extends Fragment implements ITitledFragment, IS
});
}
@Override
public void setWaterfallToolbar(WaterfallToolbar waterfallToolbar) {
mWaterfallToolbar = waterfallToolbar;
public void setScrollToolbar(ElevatedToolbar toolbar) {
mToolbar = toolbar;
}
@Override

View File

@ -0,0 +1,69 @@
package it.integry.integrywmsnative.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ScrollView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.ViewCompat;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.RecyclerView;
public class ElevatedToolbar extends Toolbar {
public ElevatedToolbar(Context context) {
super(context);
}
public ElevatedToolbar(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public ElevatedToolbar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void setRecyclerView(RecyclerView recyclerView) {
final ElevatedToolbar currentInstance = this;
if(recyclerView != null) {
recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if(!recyclerView.canScrollVertically(-1)) {
// currentInstance.setElevation(0f);
ViewCompat.setElevation(currentInstance, 0f);
} else {
// currentInstance.setElevation(50f);
ViewCompat.setElevation(currentInstance, 50f);
}
}
});
} else {
Log.e("ElevatedToolbar", "RecyclerView is NULL");
}
}
public void setScrollView(ScrollView scrollView) {
}
public void setNestedScrollView(NestedScrollView nestedScrollView) {
}
}

View File

@ -8,11 +8,16 @@
android:orientation="vertical"
tools:context="it.integry.integrywmsnative.MainActivity">
<it.integry.plugins.waterfalltoolbar.WaterfallToolbar
android:id="@+id/waterfall_toolbar"
<it.integry.integrywmsnative.ui.ElevatedToolbar
android:id="@+id/elevated_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!--<it.integry.plugins.waterfalltoolbar.WaterfallToolbar-->
<!--android:id="@+id/waterfall_toolbar"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content">-->
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
@ -91,7 +96,9 @@
</androidx.appcompat.widget.Toolbar>
</it.integry.plugins.waterfalltoolbar.WaterfallToolbar>
<!--</it.integry.plugins.waterfalltoolbar.WaterfallToolbar>-->
</it.integry.integrywmsnative.ui.ElevatedToolbar>
<include layout="@layout/content_main" />