slideable: add partial slide option

This commit is contained in:
Yuriy Liskov
2026-03-01 12:14:56 +02:00
parent 2a5ec21236
commit 78334e8001
3 changed files with 13 additions and 1 deletions

View File

@@ -455,6 +455,7 @@ public class MotherActivity extends FragmentActivity {
.scrimStartAlpha(0f) // Don't dim the background screen
.scrimEndAlpha(0f) // Background clear when finished
.distanceThreshold(0.1f) // Set drag distance to minimum
.partial(true) // Don't do full slide animation
.listener(new SlidrListener() {
@Override
public void onSlideStateChanged(int state) {}

View File

@@ -24,6 +24,7 @@ public class SlidrConfig {
private float distanceThreshold = 0.25f;
private boolean edgeOnly = false;
private float edgeSize = 0.18f;
private boolean partialSlide = false;
private SlidrPosition position = SlidrPosition.LEFT;
private SlidrListener listener;
@@ -179,6 +180,10 @@ public class SlidrConfig {
return edgeSize * size;
}
// MOD: do partial slide
public boolean isPartialSlide() {
return partialSlide;
}
/***********************************************************************************************
*
@@ -304,6 +309,12 @@ public class SlidrConfig {
return this;
}
// MOD: do partial slide
public Builder partial(boolean flag){
config.partialSlide = flag;
return this;
}
public Builder listener(SlidrListener listener){
config.listener = listener;
return this;

View File

@@ -181,7 +181,7 @@ public class SliderPanel extends FrameLayout {
}
// MOD: do partial slide (remove this block to revert original)
if (settleLeft == screenWidth) {
if (config.isPartialSlide() && settleLeft == screenWidth) {
settleLeft = left;
}