Android ViewPager przesuwanie w pionie

0

Witam
Jak zmusić ViewPager do przesuwania stron w pionie a nie w poziomie?

0

ViewPager moze wziac implementacje PageTransformera aby zmienic animacje. Te animacje moga byc np. translate animation. Domyslnie przuwane jest w poziomie (os x) a twoj transformer bedzie to robil w pionie (os y). Wiecej na ten temat: http://developer.android.com/training/animation/screen-slide.html.

0

Jesteś pewny, że da się takie coś zrobić? Próbowałem w internecie poszukać jakiś informacji lub zastosowania tego, ale nic nie znalazłem. może faktycznie da się zmienić animację, ale gesty dalej pozostaną domyślne czyli mazanie na boki zamiast w górę i dół.

0

Masz racje, gesty pozostana standardowe, nie pomyslalem o tym. No wiec nie da sie tego zrobic z normalnym ViewPagerem, ale moze ten kod: https://github.com/JakeWharton/Android-DirectionalViewPager/ pomoze ci zaczac.

0

Dzięki

A jak wykorzystać ten kod? konkretnie jak go otworzyć? składa się z przykładu i biblioteki, więc jak to połączyć żeby działało?
zauważyłem, że jest w internecie wiele kodów które tak wyglądają, ale nie wiem jak je poskładać do postaci wykonywalnej.
Wiem jak dodaje się do projektu biblioteki jar, ale za coś takiego jak w Android-DirectionalViewPager to nie wiem jak się za to zabrać.

Bardzo proszę o pomoc.

0

Tak jak wszystkie inne liby. Sciagasz jara wrzucassz do katalogu libs (zakladam ze uzywasz Eclipsa), importujesz w Twoim kodzie odpowiednie klasy i uzywasz. W sumie nie rozumiem pytania.
Jesli uzywasz Android Studio z gradle to dodajesz w build.gradle aplikacji zaleznosc i wszystko dzieje sie automatycznie.

0

Ale tam ten lib dość dziwnie wygląda, bo nie ma tam jar'a tylko kod źródłowy, nie wiem jak to podczepić do projektu : )

0

He? Masz 2 opcje:

  1. tzw. na pałę: kopiujesz kod zrodlowy plik po pliku i dolaczasz do swojego projekty - w ten sposob mozesz poprawiac w nim bugi i szperac
  2. po bożemu: bierzesz gita, robisz clone projekty z github, instalujesz mavena (tam jest plik pom.xml), i za pomoca mavena budujesz liba i w wyniku dostajesz jara, z ktorym juz wiesz co zrobic
    Obsluga gita i mavena is not in scope of this post.
0

Ten lib korzysta z FragmentActivity co zrobić żeby działało w AppWidgetProvider czyli w typowym widget?

The method getSupportFragmentManager() is undefined for the type SampleActivity

SampleActivity.java

package com.directionalviewpager.sample;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.Button;

import com.directionalviewpager.DirectionalViewPager;

public class SampleActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

//        //Set up the pager
        final DirectionalViewPager pager = (DirectionalViewPager)findViewById(R.id.pager);
        pager.setAdapter(new TestFragmentAdapter(getSupportFragmentManager())); //tutaj jest problem z TestFragmentAdapter i getSupportFragmentManager

        //Bind to control buttons
        ((Button)findViewById(R.id.horizontal)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pager.setOrientation(DirectionalViewPager.HORIZONTAL);
            }
        });
        ((Button)findViewById(R.id.vertical)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pager.setOrientation(DirectionalViewPager.VERTICAL);
            	
             //   pager.setCurrentItem(0); // ustawienie strony króra ma się wyświetlić
            }
        });
    }
}

TestFragmentAdapter.java

package com.directionalviewpager.sample;



import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

class TestFragmentAdapter extends FragmentPagerAdapter {
	
	private Context _context;
	public static int totalPage=2;
	
	public TestFragmentAdapter(FragmentManager fm) {
		super(fm);
	}

	@Override
	public Fragment getItem(int position) {
		Fragment f = new Fragment();
		switch(position){
		case 0:
			f=LayoutOne.newInstance(_context);	
			break;
		case 1:
			f=LayoutTwo.newInstance(_context);	
			break;
		}
		
		
		return f;
//		return TestFragment.newInstance(CONTENT[position]);
	}

	@Override
	public int getCount() {
		return totalPage;
	}
}
0

Problem jest gdy zmieni się na AppWidgetProvider zamiast FragmentActivity

1 użytkowników online, w tym zalogowanych: 0, gości: 1