MultiViewPager + ZoomOutPageTransformsr non funziona correttamente

Sto cercando di implementare viewpager utilizzando MultiViewPager e utilizzando lo zoomoutpageTransformsr di google come effetto, lo scopo è quello di get qualcosa di simile a questa image:

immettere qui la descrizione dell'immagine

  • Ubuntu 16.04 versione OpenGL non riconosciuta
  • Invio di un object serializzato da Android a un servlet che utilizza client HTTP
  • come aggiungere l'icona nella parte superiore del text della barra di azione in android
  • Dove è l'elenco Intent di tutte le trasmissioni Android
  • Ricevitore come class interna in Android
  • INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
  • ma non riesco a visualizzare quelle due pagine a destra ea sinistra, each volta che otterrò una sola pagina in mezzo alla schermata! questo è il mio codice pager di vista:

    mViewPager.setPageMargin( -64); mAdapter = new ViewPagerAdapter(getActivity(), mClasses); mViewPager.setPageTransformsr(true, new ZoomOutPageTransformsr()); mViewPager.setAdapter(mAdapter); 

    questo è il mio viewpager in xml:

     <ir.phzrobin.Utils.MultiViewPager android:id="@+id/viewPager" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_margin="20dp" app:matchChildWidth="@+id/textview_class_title" > </ir.phzrobin.Utils.MultiViewPager> 

    e questo è il mio layout di visualizzazione per viewpager:

      <TextView android:id="@+id/textview_class_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_gravity="top" android:layout_margin="5dp" android:gravity="center_horizontal" android:padding="10dp" android:text="fsafjabf" android:textAlignment="gravity" android:textColor="@color/white" android:textSize="17sp" /> <TextView android:id="@+id/textview_class_teacher" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/textview_class_title" android:layout_centerVertical="true" android:layout_margin="5dp" android:gravity="center_horizontal" android:padding="10dp" android:text="fsafjabf" android:textAlignment="gravity" android:textColor="@color/white" android:textSize="17sp" /> <ImageView android:id="@+id/button_options" android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_margin="20dp" android:layout_marginRight="2dp" android:background="@drawable/overflow" /> </RelativeLayout> 

    quello che ho provato è questo e anche la risposta di sviluppatore multiviewpager da qui può qualcuno mi aiuti a raggiungere un objective? Grazie

    questa è la scheda di pager di vista:

     public class ViewPagerAdapter extends PagerAdapter { // ImageLoader imageLoader = ImageLoader.getInstance(); // DisplayImageOptions options; // private ImageLoadingListener imageListener; Context activity; List<Classes> items; public ViewPagerAdapter(Context activity, List<Classes> items) { this.activity = activity; this.items = items; } public void setItems(List<Classes> items) { this.items = items; notifyDataSetChanged(); } @Override public int getCount() { // TODO Auto-generated method stub return items.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } @Override public Object instantiateItem(ViewGroup container, int position) { final int pos = position; // TODO Auto-generated method stub LayoutInflater inflater = (LayoutInflater) activity .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.row_viewpager, container, false); TextView mClassTitle = (TextView) view .findViewById(R.id.textview_class_title); mClassTitle.setText("عنوان درس: " + items.get(pos).getSubject()); mClassTitle.setTypeface(AppFont.GetAppFont()); ((TextView) view.findViewById(R.id.textview_class_teacher)) .setText("نام استاد: " + items.get(pos).getMasterName()); ((TextView) view.findViewById(R.id.textview_class_teacher)) .setTypeface(AppFont.GetAppFont()); RelativeLayout mLayout = (RelativeLayout) view .findViewById(R.id.rl_viewpager); mLayout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent _intent = new Intent(ContextVal.GetAppContext(), ClassNotes.class); _intent.putExtra("CLASSID", String.valueOf(items.get(pos).getID())); // set selected // item id // into // intent // activity // to use in // Classnotes // Activity! activity.startActivity(_intent); // open notes activity } }); ImageView mOverFlow = (ImageView) view.findViewById(R.id.button_options); mOverFlow.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub PopupMenu popup = new PopupMenu(ContextVal.GetAppContext(), v); popup.getMenuInflater().inflate(R.menu.poupup_menu, popup.getMenu()); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { if(item.getIcon() != null) {//edit item Intent _ClassWindow = new Intent(ContextVal.GetAppContext(), AddNewClass.class); _ClassWindow.putExtra("CLASSID", String.valueOf(items.get(pos).getID())); activity.startActivity(_ClassWindow); } else{//delete item AlertDialog.Builder builder = new AlertDialog.Builder( ContextVal.GetAppContext()); builder.setTitle("حذف کلاس"); builder.setMessage("آیا مطمعن هستید که میخواهید این درس را حذف کنید ؟"); builder.setPositiveButton("بله", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // Do nothing but close the dialog Log.e("onClick", "YES"); DatabaseHandler _db = new DatabaseHandler(ContextVal .GetAppContext()); _db.deleteClass(items.get(pos)); _db.deleteClassNotes(items.get(pos).getID()); ContextVal.mViewFragment.RefreshViewPager(); // Refresh Items ! // and remove // deleted item from // user's eyes lol dialog.dismiss(); } }); builder.setNegativeButton("خیر", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do nothing Log.e("onClick", "NO"); dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); } return true; } }); popup.show(); } }); container.addView(view, 0); return view; } @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView((View) object); } 

    }

  • Android implementare la bolla di chat in ListView
  • Codice di esecuzione nel thread principale da un altro thread
  • Chiamata automatica della casella di controllo su CheckedChange quando scorrimento listview scroll?
  • Android - Problemi dinamici del frammento sul cambiamento di orientamento
  • Crea un'image Bitmap da EditText e il suo contenuto
  • Collegamenti profondi e istanze multiple app
  • 3 Solutions collect form web for “MultiViewPager + ZoomOutPageTransformsr non funziona correttamente”

    Guarda questo esempio di layout di frammento di pagina dal campione MultiViewPager su GitHub:

     <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="${relativePackage}.${activityClass}"> <FrameLayout android:id="@+id/vg_cover" android:layout_width="200dp" android:layout_height="match_parent" android:layout_centerInParent="true" tools:ignore="UselessParent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:background="@drawable/bg_page" android:scaleType="centerInside" android:src="@drawable/im_pixplicity" tools:ignore="ContentDescription" /> <TextView android:id="@+id/tv_item" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:gravity="center" /> </FrameLayout> </RelativeLayout> 

    Esiste un RelativeLayout con width impostata a match_parent e un FrameLayout interno con una width esplicita di 200dp. Ciò che è in quel FrameLayout interno finisce per essere la pagina di frammento.

    Il tuo layout ha app:matchChildWidth="@+id/textview_class_title" ma questo non è un ViewGroup come il FrameLayout interno.

    Devi riscrivere il layout della tua pagina di frammentazione in modo da avere un ViewGroup interno con tutti i tuoi TextView all'interno.

    Inoltre, non esplicitamente call setPageMargin() , MultiViewPager imposta il margine di pagina internamente in base a tutte le misurazioni.

    Se ancora hai problemi a far funzionare questo problema, ti consigliamo di iniziare con l'applicazione di esempio per MultiViewPager e modificarla finché non otterrai i risultati di layout che stai cercando.

    Ho più frammenti nella mia attività e utilizzo FragmentStatePagerAdapter come PageAdapter e MultiViewPager come ViewPager.

    Questi codici di seguito funzionano bene con Google ZoomOutPageTransformsr :

    Attività:

      <com.tencent.qest.ui.components.MultiViewPager android:id="@+id/pager" android:layout_marginTop="20dp" android:layout_width="fill_parent" android:layout_height="fill_parent" app:matchChildWidth="@+id/card_container" android:layout_below="@+id/pager_numbers"/> 

    Frammento:

     <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/card_container" android:layout_width="240dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/img_banner_card" android:layout_gravity="center_horizontal" android:minHeight="64dp" android:src="@drawable/place_holder_1" android:layout_marginBottom="-4dp" android:adjustViewBounds="false" android:scaleType="center" android:maxHeight="64dp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" tools:context="com.tencent.qest.ui.fragments.SimpleInfoCardFragment" android:padding="18dp" android:background="@color/accent" android:gravity="center_vertical" android:layout_below="@+id/img_banner_card" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"> <!-- TODO: Update blank fragment layout --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/txt_card_normal" android:text="10.发放入职礼品" android:id="@+id/tv_Title" android:textSize="30dp" android:paddingBottom="5dp" android:layout_gravity="left" android:paddingTop="5dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/txt_card_normal" android:text="地点:4楼休闲厅" android:id="@+id/tv_SubTitle" android:layout_gravity="center_horizontal|left" android:textSize="20dp" android:paddingBottom="5dp" android:paddingTop="4dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tips:必须完成前9项后才可以领取入职礼品哦!" android:id="@+id/tv_Content" android:layout_gravity="center_horizontal|left" style="@style/txt_card_normal" /> </LinearLayout> </RelativeLayout> 

    Ho appena fatto bene con questo personalizzato PageTransformsr e MultiviewPager:

     public class ScalePageTransformsr implements ViewPager.PageTransformsr{ private static final float scaleMax = 0.8f; @Override public void transformPage(View view, float position) { if (position<=0){ float scale = scaleMax + (1+position)*0.2f; ViewCompat.setScaleX(view, scale); ViewCompat.setScaleY(view, scale); } else { float scale = scaleMax + (1-position)*0.2f; ViewCompat.setScaleX(view, scale); ViewCompat.setScaleY(view, scale); } } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.