viewpager support studio android android-layout android-viewpager slider slide

support - viewpager android slider



La imagen de Android viewPager se desliza de derecha a izquierda (4)

Cree un archivo de diseño pager_item.xml :

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/imageView" /> </LinearLayout>

Cambie su PagerAdapter así:

public class ImageAdapter extends PagerAdapter { Context context; private int[] GalImages = new int[] { R.drawable.one, R.drawable.two, R.drawable.three }; LayoutInflater mLayoutInflater; ImageAdapter(Context context){ this.context=context; mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return GalImages.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == ((LinearLayout) object); } @Override public Object instantiateItem(ViewGroup container, int position) { View itemView = mLayoutInflater.inflate(R.layout.pager_item, container, false); ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView); imageView.setImageResource(GalImages[position]); container.addView(itemView); return itemView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((LinearLayout)object); } }

EDIT 1:

Un truco :

public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); ImageAdapter adapter = new ImageAdapter(this); viewPager.setAdapter(adapter); viewPager.setCurrentItem(adapter.getCount()-1); }

Espero que esto ayude :)

Quiero agregar una diapositiva de imagen. Pero no puede hacer que se deslice de derecha a izquierda. (para idiomas como el árabe o el hebreo)

Revisé casi todas las respuestas en stackoverflow, pero no puedo encontrar una solución clara.

Escribo aquí el código completo.

Por favor escríbeme claramente, no soy un profesional

actividad principal;

package com.manishkpr.viewpagerimagegallery; import android.app.Activity; import android.os.Bundle; import android.support.v4.view.ViewPager; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); ImageAdapter adapter = new ImageAdapter(this); viewPager.setAdapter(adapter); } }

aquí está el ImageAdapter.java;

package com.manishkpr.viewpagerimagegallery; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; public class ImageAdapter extends PagerAdapter { Context context; private int[] GalImages = new int[] { R.drawable.one, R.drawable.two, R.drawable.three }; ImageAdapter(Context context){ this.context=context; } @Override public int getCount() { return GalImages.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == ((ImageView) object); } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(context); int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); imageView.setPadding(padding, padding, padding, padding); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); imageView.setImageResource(GalImages[position]); ((ViewPager) container).addView(imageView, 0); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView((ImageView) object); } }

y aquí está el archivo de diseño;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>


En lugar de usar ViewPager, le sugiero que utilice SwipeDeck, ya que, como dijo Niranj Patel, ViewPager no es compatible con Right to left.

<?xml version="1.0" encoding="utf-8"?> <com.daprlabs.cardstack.SwipeFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:swipedeck="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.daprlabs.cardstack.SwipeDeck android:id="@+id/swipe_deck" android:layout_width="match_parent" android:layout_height="480dp" android:padding="20dp" swipedeck:card_spacing="10dp" swipedeck:max_visible="3" swipedeck:render_above="true" swipedeck:rotation_degrees="15" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:text="Button" /> </com.daprlabs.cardstack.SwipeFrameLayout>


ViewPager no es compatible con RTL.

Debe crear ViewPager personalizado para deslizar de derecha a izquierda para árabe y otros idiomas.

Si no quiere hacer código, entonces hay muchas bibliotecas disponibles, puede usar una de ellas.

1. RtlViewPager

2. RtlViewPager


Solo solución smiple, pero no es profesional

Escribe esto en xml para VeiwPager

android:rotationY="180"

y también en veiw_item

android:rotationY="180".