Horizontal Sliding layout in Sketchware
Code:-
final LinearLayout _layout = (LinearLayout)_forelayout;
final LinearLayout _backview = (LinearLayout) _backlayout;
_layout.setTranslationZ(1);
_backview.post(new Runnable() {
@Override
public void run() {
final boolean[] closed = {true};
final int[] current = {0};
final int value = 0-_backview.getWidth();
_backview.setTranslationX(value);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,_layout.getHeight());
_layout.setLayoutParams(params);
((android.view.ViewGroup)_layout.getParent()).setClickable(true);
((android.view.ViewGroup)_layout.getParent()).setFocusable(true);
((android.view.ViewGroup)_layout.getParent()).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:{
if (closed[0]){
current[0] = (int) event.getX();
}else {
current[0] = (int) event.getX()+(_backview.getWidth());
}
}
case MotionEvent.ACTION_MOVE:{
if (event.getX()-current[0]>value&event.getX()-current[0]<0){
_layout.setTranslationX(event.getX()-current[0]);
}
if (event.getX()-current[0]<value){
_layout.setTranslationX(value);
}
if (event.getX()-current[0]>0){
_layout.setTranslationX(0);
}
break;
}
case MotionEvent.ACTION_UP:{
int value_2 = (int) (event.getX()-current[0]);
if (value_2>(value/2)){
ObjectAnimator animator = new ObjectAnimator();
animator.setTarget(_layout);
animator.setPropertyName("translationX");
animator.setFloatValues(0);
animator.setDuration(200);
animator.setInterpolator(new android.view.animation.DecelerateInterpolator());
animator.start();
closed[0] = true;
}else {
ObjectAnimator animator = new ObjectAnimator();
animator.setTarget(_layout);
animator.setPropertyName("translationX");
animator.setFloatValues(value);
animator.setDuration(200);
animator.setInterpolator(new android.view.animation.DecelerateInterpolator());
animator.start();
closed[0] = false;
}
break;
}
}
return false;
}
});
}
});

Can you check code? Show th error in code!
ReplyDeletePlease make a textarea to copy this code
ReplyDelete