Completata implementazione dell'elevatedToolbar e rimossa la WaterfallTollbar

This commit is contained in:
Giuseppe Scorrano 2019-03-19 10:07:24 +01:00
parent 3573480ca1
commit a88d59f1d7
8 changed files with 117 additions and 34 deletions

Binary file not shown.

1
.idea/gradle.xml generated
View File

@ -13,7 +13,6 @@
<option value="$PROJECT_DIR$/dynamic__base" />
<option value="$PROJECT_DIR$/dynamic_vgalimenti" />
<option value="$PROJECT_DIR$/pointmobilescannerlibrary" />
<option value="$PROJECT_DIR$/waterfall_toolbar" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />

1
.idea/modules.xml generated
View File

@ -8,7 +8,6 @@
<module fileurl="file://$PROJECT_DIR$/dynamic__base/dynamic__base.iml" filepath="$PROJECT_DIR$/dynamic__base/dynamic__base.iml" />
<module fileurl="file://$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" filepath="$PROJECT_DIR$/dynamic_vgalimenti/dynamic_vgalimenti.iml" />
<module fileurl="file://$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" filepath="$PROJECT_DIR$/pointmobilescannerlibrary/pointmobilescannerlibrary.iml" />
<module fileurl="file://$PROJECT_DIR$/waterfall_toolbar/waterfall_toolbar.iml" filepath="$PROJECT_DIR$/waterfall_toolbar/waterfall_toolbar.iml" />
</modules>
</component>
</project>

View File

@ -138,7 +138,6 @@ dependencies {
implementation 'com.fede987:status-bar-alert:1.0.1'
implementation 'com.fxn769:stash:1.2'
testImplementation 'junit:junit:4.12'
implementation project(':waterfall_toolbar')
implementation 'com.mikhaellopez:lazydatepicker:1.0.0'
implementation 'com.github.demoNo:AutoScrollViewPager:v1.0.2'
//AppUpdate

View File

@ -121,7 +121,7 @@ public class MainActivity extends AppCompatActivity
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// mBinding.appBarMain.waterfallToolbar.resetAll();
mBinding.appBarMain.elevatedToolbar.resetAll();
// Handle navigation view item clicks here.
Fragment fragment = null;
@ -181,10 +181,12 @@ public class MainActivity extends AppCompatActivity
mBinding.appBarMain.mainSearch.setVisibility(View.VISIBLE);
mBinding.appBarMain.mainSearch.setOnSearchClickListener(v -> {
((ISearcableFragment) fragment).onSearchEnabled();
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.GONE);
});
mBinding.appBarMain.mainSearch.setOnCloseListener(() -> {
((ISearcableFragment) fragment).onSearchDisabled();
mBinding.appBarMain.toolbarTitleLeft.setVisibility(View.VISIBLE);
return false;
});
} else {
@ -206,7 +208,6 @@ public class MainActivity extends AppCompatActivity
if(fragment instanceof IScrollableFragment) {
((IScrollableFragment) fragment).setScrollToolbar(mBinding.appBarMain.elevatedToolbar);
// ((IScrollableFragment) fragment).setWaterfallToolbar(mBinding.appBarMain.waterfallToolbar);
}
if(fragment instanceof ISelectAllFragment && ((ISelectAllFragment)fragment).isEnabled()) {

View File

@ -220,13 +220,6 @@ public class MainAccettazioneFragment extends Fragment implements ISearcableFrag
rigaOrdine.clienti.add(cliente);
});
// List<OrdineAccettazioneInevasoDTO> filteredByCodAnagAndDateAndNumberOrders = Stream.of(tmpOrd)
// .filter(x ->
// x.codAnagOrd.equals(rigaOrdine.codAnagOrd) &&
// x.numero == rigaOrdine.numero &&
// x.data.equals(rigaOrdine.data)).toList();
groupedOrdine.ordini.add(rigaOrdine);

View File

@ -1,67 +1,159 @@
package it.integry.integrywmsnative.ui;
import android.animation.ObjectAnimator;
import android.animation.StateListAnimator;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.ViewTreeObserver;
import android.widget.ScrollView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.cardview.widget.CardView;
import androidx.core.view.ViewCompat;
import androidx.core.widget.NestedScrollView;
import androidx.recyclerview.widget.RecyclerView;
public class ElevatedToolbar extends Toolbar {
public class ElevatedToolbar extends CardView {
private final float CARD_ELEVATION = 50f;
private RecyclerView mRecyclerView = null;
private ScrollView mScrollView = null;
private NestedScrollView mNestedScrollView = null;
public ElevatedToolbar(Context context) {
super(context);
resetElevation();
}
public ElevatedToolbar(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
resetElevation();
}
public ElevatedToolbar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
resetElevation();
}
public void resetElevation() {
setCardElevation(0f);
}
public void resetAll() {
resetElevation();
removeRecyclerViewScrollListener();
removeScrollViewScrollListener();
removeNestedScrollViewListener();
mRecyclerView = null;
mScrollView = null;
mNestedScrollView = null;
}
RecyclerView.OnScrollListener recyclerViewScrollListener = new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if(!recyclerView.canScrollVertically(-1)) {
resetElevation();
} else {
setCardElevation(CARD_ELEVATION);
}
}
};
public void setRecyclerView(RecyclerView recyclerView) {
this.mRecyclerView = recyclerView;
resetElevation();
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);
}
}
});
if(mRecyclerView != null) {
mRecyclerView.setOnScrollListener(recyclerViewScrollListener);
} else {
Log.e("ElevatedToolbar", "RecyclerView is NULL");
}
}
public void removeRecyclerViewScrollListener(){
if(mRecyclerView != null) {
mRecyclerView.setOnScrollListener(null);
} else {
Log.e("ElevatedToolbar", "REMOVE: RecyclerView is NULL");
}
}
private ViewTreeObserver.OnScrollChangedListener scrollViewScrollListener = () -> {
if(mScrollView != null) {
if(mScrollView.getScrollY() == 0) {
resetElevation();
} else {
setCardElevation(CARD_ELEVATION);
}
}
};
public void setScrollView(ScrollView scrollView) {
this.mScrollView = scrollView;
resetElevation();
if(mScrollView != null) {
mScrollView.getViewTreeObserver().addOnScrollChangedListener(scrollViewScrollListener);
} else {
Log.e("ElevatedToolbar", "ScrollView is NULL");
}
}
public void removeScrollViewScrollListener(){
if(mRecyclerView != null) {
mScrollView.getViewTreeObserver().removeOnScrollChangedListener(scrollViewScrollListener);
} else {
Log.e("ElevatedToolbar", "REMOVE: ScrollView is NULL");
}
}
public void setNestedScrollView(NestedScrollView nestedScrollView) {
private NestedScrollView.OnScrollChangeListener nestedScrollViewListener = (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
if(mNestedScrollView != null) {
if(scrollY == 0) {
resetElevation();
} else {
setCardElevation(CARD_ELEVATION);
}
}
};
public void setNestedScrollView(NestedScrollView nestedScrollView) {
this.mNestedScrollView = nestedScrollView;
resetElevation();
if(mNestedScrollView != null) {
mNestedScrollView.setOnScrollChangeListener(nestedScrollViewListener);
} else {
Log.e("ElevatedToolbar", "NestedScrollView is NULL");
}
}
public void removeNestedScrollViewListener() {
if(mNestedScrollView != null) {
mNestedScrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) null);
} else {
Log.e("ElevatedToolbar", "REMOVE: NestedScrollView is NULL");
}
}

View File

@ -1 +1 @@
include ':app', ':pointmobilescannerlibrary', ':waterfall_toolbar', ':barcode_base_library', ':dynamic_vgalimenti', ':dynamic__base'
include ':app', ':pointmobilescannerlibrary', ':barcode_base_library', ':dynamic_vgalimenti', ':dynamic__base'