http://s10.postimg.org/knckl2n4p/Untitled.png[^]
I went like this result. Please help me. I tried but i'm not getting like this. I'm new to android. Thanks..
http://s10.postimg.org/knckl2n4p/Untitled.png[^]
I went like this result. Please help me. I tried but i'm not getting like this. I'm new to android. Thanks..
Since you don't want tab functionality, you can use the GestureDetector.SimpleOnGestureListener
Within your activity class:
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
float slope = (e1.getY() - e2.getY()) / (e1.getX() - e2.getX());
float angle = (float) Math.atan(slope);
float angleInDegree = (float) Math.toDegrees(angle);
// left to right
if (e1.getX() - e2.getX() > 20 && Math.abs(velocityX) > 20) {
if ((angleInDegree < 45 && angleInDegree > -45)) {
//code for left to right swipe should go here
}
// right to left fling
} else if (e2.getX() - e1.getX() > 20
&& Math.abs(velocityX) > 20) {
if ((angleInDegree < 45 && angleInDegree > -45)) {
//code for right to left swipe should go here
}
}
return true;
} catch (Exception e) {
// nothing
}
return false;
}
}
You can then register any view to receive/listen for the gestures:
final GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector());
gameView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return false;
return false;
}
});
//the parent layout
findViewById(R.id.parent_layout).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return false;
return false;
}
});
//an image view
findViewById(R.id.image_view).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return false;
return false;
}
});
I know you are in confusion and want an answer but it is highly appreciated to post your own code and and errors (if any) so we can directly help you out by seeing where it is giving error.!
May be this(i have done this way) will help you:
1- Make as many pages as you want. In your layout i.e page1.xml, page2.xml .....
2- Write this in your activity_main.xml
<android.support.v4.view.ViewPager
android:id="@+id/customviewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
3- In main class
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create and set adapter
Pager adapter = new Pager();
ViewPager myPager = (ViewPager) findViewById(R.id.customviewpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0); // 0 shows starting page which you have on switch case index 0
}
4- Make another class in same package here i have
public class Pager extends PagerAdapter {
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0: {
resId = R.layout.page1;
break;
}
case 1: {
resId = R.layout.page2;
break;
}
case 2: {
resId = R.layout.page3;
break;
}
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public int getCount() {
return 3; //total page count
}
}
5- import required libraries.!
Hope this will help you , i also learned this some times ago :)