随着移动设备的增加,android手机端的切换动画要求也在逐步改变,以前我开发android APP时,界面的切换不是通过按钮就是通过tabhost进行切换,现在进行版本升级,要求通过手的滑动来切换界面。
主要通过ViewPager来实现。
代码如下:
package com.example.demo_vep;
import java.util.ArrayList;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
public class MYViewPagerAdapter extends PagerAdapter {
private ArrayList<View> views;
public void setViews(ArrayList<View> views) {
this.views = views;
}
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager)container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
((ViewPager)container).addView(views.get(position));
return views.get(position);
}
}
//------------------------------------------//
package com.example.demo_vep;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViewPager();
}
private void initViewPager()
{
ViewPager viewPager = (ViewPager)findViewById(R.id.viewPager);
View view1 = LayoutInflater.from(this).inflate(R.layout.layout1, null);
View view2 = LayoutInflater.from(this).inflate(R.layout.layout2, null);
View view3 = LayoutInflater.from(this).inflate(R.layout.layout3, null);
ArrayList<View> views = new ArrayList<View>();
views.add(view1);
views.add(view2);
views.add(view3);
MYViewPagerAdapter adapter = new MYViewPagerAdapter();
adapter.setViews(views);
viewPager.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
//------------四个布局文件---------------------------//
/--------------main_activity.xml---------------/
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<requestFocus />
</android.support.v4.view.ViewPager>
</RelativeLayout>
/----------layout1,layout2,layout3-----------------/
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#ff0000ff"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一页"
android:textColor="#ffffffff"
android:textSize="30sp"/>
</LinearLayout>
----------layout1,layout2,layout3布局文件一样------------------
界面的滑动切换
猜你喜欢
转载自dzy-123.iteye.com/blog/1837264
今日推荐
周排行