Completata implementazione dell'elevatedToolbar e rimossa la WaterfallTollbar
This commit is contained in:
parent
3573480ca1
commit
a88d59f1d7
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@ -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
1
.idea/modules.xml
generated
@ -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>
|
||||
@ -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
|
||||
|
||||
@ -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()) {
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
include ':app', ':pointmobilescannerlibrary', ':waterfall_toolbar', ':barcode_base_library', ':dynamic_vgalimenti', ':dynamic__base'
|
||||
include ':app', ':pointmobilescannerlibrary', ':barcode_base_library', ':dynamic_vgalimenti', ':dynamic__base'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user