ViewPager+布局xml(View)
效果如图:
代码如下:
新建三个布局xml
第一个:activity_linearlayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:background="#cf6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="我是B界面"
/>
</LinearLayout>
第二个:activity_framelayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:background="#fc7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="我是C界面"
/>
</LinearLayout>
第三个:activity_relativelayout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:background="#ff6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="我是A界面"
/>
</RelativeLayout>
java代码:
新建一个java类:MainActivity.java
package androidstudio.myapplication;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private int Layouts[] = {R.layout.activity_linearlayout,R.layout.activity_framelayout,R.layout.activity_relativelayout};
private ViewPager vp_main_viewPage;
private List<View> view_list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp_main_viewPage = (ViewPager) findViewById(R.id.vp_main_viewPage);
for (int i = 0; i <Layouts.length ; i++) {
View v = getLayoutInflater().inflate(Layouts[i],null);
view_list.add(v);
}
vp_main_viewPage.setAdapter(new MyAdapter());
}
class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
return Layouts.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v = view_list.get(position);
container.addView(v);
return v;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View v = view_list.get(position);
container.removeView(v);
}
}
}