2014-04-29 4 views
0

Activities 사이에서 전환하려면 화면 슬라이드를 만들고 싶습니다. (나는 스 와이프 효과를 찾고 있지 않습니다. 슬라이드 전환은 viewPagers에서만 가능합니다.)API 10을 사용한 슬라이드 전환

API 10을 사용하여 수행 할 수있는 제안이나 링크는 무엇입니까?

+0

은 적어도 당신이 노력이나 시도 한 것을 우리에게 보여, 처음에 시도 할 것을주의하고 무슨 일이있다거나 ... – rperryng

+0

나는이 자습서를 따라 갔다. http://developer.android.com/training/animation/screen-slide.html 문제는 api10으로 처리 할 수 ​​없다는 것이다. – AnixPasBesoin

+0

구체적으로 api 10에서 수행 할 수없는 것은 무엇입니까? 가장 기본적인 폼의 뷰 페이지는 지원 라이브러리에서 사용할 수 있으며 API 레벨은 10보다 훨씬 낮을 수 있습니다. – rperryng

답변

0

다음은 완전히 작동하는 예제입니다.

미리보기 여기가 어떻게 생겼는지 : Preview

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/main_viewpager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

</android.support.v4.view.ViewPager> 

fragment_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TextView 
     android:textSize="26sp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/lorem_ipsum" /> 

</ScrollView> 

내 유일한 클래스

public class ActivityMain extends FragmentActivity { 

    private ViewPager mViewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mViewPager = (ViewPager) findViewById(R.id.main_viewpager); 
     MyPagerAdapter pagerAdapter = new MyPagerAdapter(getSupportFragmentManager()); 

     mViewPager.setAdapter(pagerAdapter); 
    } 

    public static class MyPagerAdapter extends FragmentStatePagerAdapter { 

     public MyPagerAdapter(FragmentManager fragmentManager) { 
      super(fragmentManager); 
     } 

     private static final int NUM_PAGES = 5; 

     @Override 
     public Fragment getItem(int position) { 
      return new FragmentExample(); 
     } 

     @Override 
     public int getCount() { 
      return NUM_PAGES; 
     } 
    } 

    public static class FragmentExample extends Fragment { 
     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      return inflater.inflate(R.layout.fragment_main, null, false); 
     } 
    } 
} 

그냥 좋은 측정을 위해, 여기 내 매니페스트는이 지원되는 최소 SDK가 4

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.screenslidingpager" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="4" 
     android:targetSdkVersion="19" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.screenslidingpager.ActivityMain" 
      android:theme="@android:style/Theme.Light" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

내 코드에서 볼 수있는 유일한 문제는 proponlyly xml 태그를 닫지 않은 activity_main.xml입니다. 업데이트 된 스 니펫 – rperryng