2013-04-22 76 views
0

我想不是由Android的手势监听滑动与视图寻呼机acivities。 我能够提前对图像视图中添加视图寻呼机,但没有活动,请大家帮我... 谢谢!查看传呼机在活动

+0

您片段添加到ViewPager,不活动。看看Eclipse创建的例子,当你选择“滑动导航”作为模板,你就会明白。 – FWeigl 2013-04-22 11:27:25

+0

您必须在视图寻呼机内使用片段。而不是活动本身。如果你想知道你如何做到这一点,我可以粘贴它作为答案。 – SKK 2013-04-22 11:29:03

回答

3

使用片段在寻呼机中每个视图。

写下面的代码在FragmentActivityonCreate()方法。

List<Fragment> fragments = new Vector<Fragment>(); 

//for each fragment you want to add to the pager 
Bundle page = new Bundle(); 
page.putString("url", url); 
fragments.add(Fragment.instantiate(this,MyFragment.class.getName(),page)); 

//after adding all the fragments write the below lines 

this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments); 

mPager.setAdapter(this.mPagerAdapter); 

样品片段定义:

public class MyFragment extends Fragment { 


public static MyFragment newInstance(String imageUrl) { 

final MyFragment mf = new MyFragment(); 

    final Bundle args = new Bundle(); 
    args.putString("somedata", "somedata"); 
    mf.setArguments(args); 

    return mf; 
} 

public MyFragment() {} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    String data = getArguments().getString("somedata"); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // Inflate and locate the main ImageView 
    final View v = inflater.inflate(R.layout.my_fragment_view, container, false); 
    //... 
    return v; 
} 

编辑(添加):FragmentPagerAdapter

public class MyFragmentAdapter extends FragmentPagerAdapter { 

public static int pos = 0; 

private List<Fragment> myFragments; 

public MyFragmentAdapter(FragmentManager fm, List<Fragment> myFrags) { 
    super(fm); 
    myFragments = myFrags; 
} 

@Override 
public Fragment getItem(int position) { 

    return myFragments.get(position); 

} 

@Override 
public int getCount() { 

    return myFragments.size(); 
} 

@Override 
public CharSequence getPageTitle(int position) { 

    setPos(position); 

    String PageTitle = ""; 

    switch(pos) 
    { 
     case 0: 
       PageTitle = "page 1"; 
       break; 
     case 1: 
       PageTitle = "page 2"; 
       break; 
     case 2: 
       PageTitle = "page 3"; 
       break; 
     case 3: 
       PageTitle = "page 4"; 
       break; 
     case 4: 
       PageTitle = "page 5"; 
       break; 
     case 5: 
       PageTitle = "page 6"; 
       break; 
     case 6: 
       PageTitle = "page 7"; 
       break; 
    } 
    return PageTitle; 
} 

public static int getPos() { 
    return pos; 
} 

public static void setPos(int pos) { 
    MyFragmentAdapter.pos = pos; 
} 
} 
+0

感谢先生,它是一个非常好的例子,但你可以请添加PageAdapter代码... – 2013-04-22 12:01:25

+0

立即发表您的评论。 PagerAdapter已添加。叫我santhosh。快乐的编码。 – SKK 2013-04-22 13:10:25

+0

非常感谢你santhosh它真的帮了我很多...... – 2013-04-23 04:58:58

1

使用overridePendingTransition这样

startActivity(YourNewActivity); 
overridePendingTransition(R.anim.right_to_left, 
          R.anim.left_to_right); 

右击t_to_left.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 

    <translate 
     android:duration="300" 
     android:fromXDelta="100%" 
     android:fromYDelta="0%" 
     android:toXDelta="0%" 
     android:toYDelta="0%" /> 

</set> 

left_to_right.xml

<translate 
    android:duration="300" 
    android:fromXDelta="0%" 
    android:fromYDelta="0%" 
    android:toXDelta="-100%" 
    android:toYDelta="0%" /> 

1
ViewPager

仅持有viewsactivity任选被fragments支撑,保持内部activity另一个activity已正式折旧。

相关问题