Can you make a slide for the screen?
Hello. I want to put a slide function on the screen like the picture above.
Is it possible to create a slide view in ‘android’ using ‘processing’?
Can you make a slide for the screen?
Hello. I want to put a slide function on the screen like the picture above.
Is it possible to create a slide view in ‘android’ using ‘processing’?
hi
this is close for what you want
you can adapt it for up down
Thank you for your kind and quick reply.
First off, the example file is a solution for landscape.
Is it correct to weave the solution for vertical as above? Or is there another way?
Link : Scrollbars up and down to change the positions of the text - #10 by Chrisir
If you look at the link above, you see the code for ‘Chrisir’.
Is there no ‘library’ or other method other than how to create a scrollbar through the code above?
See also Scrollbar / Examples / Processing.org
See also libraries and GUI section therein
hi
change this line the image moves up/down
image(img2, height/2, width/2-img2.width/2 + img2Pos*1.5);
/**
* Scrollbar.
*
* Move the scrollbars left and right to change the positions of the images.
*/
HScrollbar hs1, hs2; // Two scrollbars
PImage img1, img2; // Two images to load
void setup() {
size(640, 360);
noStroke();
hs1 = new HScrollbar(0, height/2-8, width, 16, 16);
hs2 = new HScrollbar(0, height/2+8, width, 16, 16);
// Load images
img1 = loadImage("seedTop.jpg");
img2 = loadImage("seedBottom.jpg");
}
void draw() {
background(255);
// Get the position of the img1 scrollbar
// and convert to a value to display the img1 image
float img1Pos = hs1.getPos()-width/2;
fill(255);
image(img1, width/2-img1.width/2 + img1Pos*1.5, 0);
// Get the position of the img2 scrollbar
// and convert to a value to display the img2 image
float img2Pos = hs2.getPos()-width/2;
fill(255);
//image(img2, width/2-img2.width/2 + img2Pos*1.5, height/2);
image(img2, height/2, width/2-img2.width/2 + img2Pos*1.5);
hs1.update();
hs2.update();
hs1.display();
hs2.display();
stroke(0);
line(0, height/2, width, height/2);
}
class HScrollbar {
int swidth, sheight; // width and height of bar
float xpos, ypos; // x and y position of bar
float spos, newspos; // x position of slider
float sposMin, sposMax; // max and min values of slider
int loose; // how loose/heavy
boolean over; // is the mouse over the slider?
boolean locked;
float ratio;
HScrollbar (float xp, float yp, int sw, int sh, int l) {
swidth = sw;
sheight = sh;
int widthtoheight = sw - sh;
ratio = (float)sw / (float)widthtoheight;
xpos = xp;
ypos = yp-sheight/2;
spos = xpos + swidth/2 - sheight/2;
newspos = spos;
sposMin = xpos;
sposMax = xpos + swidth - sheight;
loose = l;
}
void update() {
if (overEvent()) {
over = true;
} else {
over = false;
}
if (mousePressed && over) {
locked = true;
}
if (!mousePressed) {
locked = false;
}
if (locked) {
newspos = constrain(mouseX-sheight/2, sposMin, sposMax);
}
if (abs(newspos - spos) > 1) {
spos = spos + (newspos-spos)/loose;
}
}
float constrain(float val, float minv, float maxv) {
return min(max(val, minv), maxv);
}
boolean overEvent() {
if (mouseX > xpos && mouseX < xpos+swidth &&
mouseY > ypos && mouseY < ypos+sheight) {
return true;
} else {
return false;
}
}
void display() {
noStroke();
fill(204);
rect(xpos, ypos, swidth, sheight);
if (over || locked) {
fill(0, 0, 0);
} else {
fill(102, 102, 102);
}
rect(spos, ypos, sheight, sheight);
}
float getPos() {
// Convert spos to be values between
// 0 and the total width of the scrollbar
return spos * ratio;
}
}