2016-11-28 3 views
0

Ich habe eine Ansicht individuelle wie dieseHinzufügen ViewPager, um benutzerdefinierte Ansicht auf Android

enter image description here

suchen Gibt es eine Möglichkeit von ViewPager inneres Paging zu implementieren? Ich versuchte VP auf diese Weise zu erstellen:

viewPager = (ViewPager) viewPagerLayout.findViewById(R.id.pager); 

    viewPager = new ViewPager(getContext()); 
    viewPager.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
    viewPager.setId(View.generateViewId()); 
    viewPager.setBackgroundColor(Color.BLUE); 

In OnDraw-Methode:

innen gezogen
viewPager.measure(canvas.getWidth(), canvas.getHeight()); 
    viewPager.layout(0, 0, canvas.getWidth(), canvas.getHeight()); 
    if (viewPager != null) 
     viewPager.draw(canvas); 

Viewpager selbst ist, wie ich will, aber ohne Paging-Fähigkeit. Die Methode instantiateItem im Adapter wird nie aufgerufen. Standalone Viewpager und Adapter arbeiten in einer anderen Aktivität, aber nicht in der benutzerdefinierten Ansicht.

+0

Warum die Segeltuchmagie ??? – EpicPandaForce

+0

@EpicPandaForce Ich weiß nicht, wie man es anders macht ... das ist mein erster Versuch, eine benutzerdefinierte Komponente mit vielen benutzerdefinierten Animationen zu erstellen. Wäre es besser, einige Zeichen oder etwas zu verwenden? – Sparrow318

Antwort

0

von Ihrem Code Ich sehe, Sie sind "nur Zeichnung" ViewPager innerhalb einer Methode (onDraw?). es ist so, als würdest du ein Bild drucken und mit jemandem darüber reden wollen ... du musst ganzen ViewPager in einen beliebigen Container mit Context einfügen, um mit ihm interagieren zu können. das ist, warum es gerade innerhalb Activity arbeitet (die IST Context ist) oder durch XML hinzugefügt und nicht funktioniert, wenn Sie gerade sein "Aussehen" zeichnen

+0

Oh, ich verstehe. Danke für die Erklärung. – Sparrow318

Verwandte Themen