Swipe nach oben und unten Wirkung wie jene Nachrichten-Apps inshorts, Wanderung Nachrichten, Murmeln.Android: Layout-Animation wie Inshorts Nachrichten-App
ganzes Layout reibungslos auf/ab.
App über diesen Link inshorts und murmur überprüfen.
ich diesen Code ... versucht
public class VerticalViewPager extends ViewPager {
public VerticalViewPager(Context context) {
super(context);
init();
}
public VerticalViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
// The majority of the magic happens here
setPageTransformer(true, new VerticalPageTransformer());
// The easiest way to get rid of the overscroll drawing that happens on the left and right
setOverScrollMode(OVER_SCROLL_NEVER);
}
private class VerticalPageTransformer implements PageTransformer {
@SuppressLint("NewApi")
@Override
public void transformPage(View view, float position) {
if (position < -1) { // [-Infinity,-1)
// This page is way off-screen to the left.
view.setAlpha(0);
} else if (position <= 1) { // [-1,1]
view.setAlpha(1);
// Counteract the default slide transition
view.setTranslationX(view.getWidth() * -position);
//set Y position to swipe in from top
float yPosition = position * view.getHeight();
view.setTranslationY(yPosition);
} else { // (1,+Infinity]
// This page is way off-screen to the right.
view.setAlpha(0);
}
}
}
/**
* Swaps the X and Y coordinates of your touch event.
*/
private MotionEvent swapXY(MotionEvent ev) {
float width = getWidth();
float height = getHeight();
float newX = (ev.getY()/height) * width;
float newY = (ev.getX()/width) * height;
ev.setLocation(newX, newY);
return ev;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev){
boolean intercepted = super.onInterceptTouchEvent(swapXY(ev));
swapXY(ev); // return touch coordinates to original reference frame for any child views
return intercepted;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return super.onTouchEvent(swapXY(ev));
}
}
In MainActivity.java
VerticalViewPager Pager2;
PagerAdapter adapter;
String[] articleTitle;
String[] articleName;
String[] articleDiscription;
OnCreate()
Pager2=(VerticalViewPager)findViewById(R.id.pager);
// Pass results to ViewPagerAdapter Class
adapter = new ViewPagerAdapter(getActivity(), articleTitle, articleName, articleDiscription, btnBack,articleImage);
// Binds the Adapter to the ViewPager
Pager2.setAdapter(adapter);
activity_main.xml
<com.example.flipnews.VerticalViewPager
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/pager"
/>
In meinem Code einfach up-down Swipe getan, wie dies link. aber ich möchte bessere Animationseffekte wie die oben genannten Apps erstellen. oder Telefon eingebauten Foto-Galerie-Effekt.
Vielen Dank im Voraus.
Hallo, Viveka ... wir können Ihnen nicht helfen, Dinge zu entwickeln ... wir können Ihnen nur bei Problemen mit dieser Implementierung helfen. Sie müssen es selbst ausprobieren und später Ihren Code mit den Problemen veröffentlichen. –
@Viveka Wenn Sie irgendeine Lib für diese Animation gefunden haben, lassen Sie es mich wissen. – Dev
Ich habe diesen Code bereits getestet, aber keine richtige Ausgabe bekommen. Überprüfen Sie meinen Code. - @MarianoZorrilla –