实现滑动切换不同布局(View)页面:
效果图展示:
实现编码:
LinearLayout布局:
<?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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="this"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="is"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LinearLayout"/>
</LinearLayout>
</LinearLayout>
RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#ff0000"
android:id="@+id/tv_relativelayout"/>
<TextView
android:layout_width="80dp"
android:layout_height="80dp"
android:background="#00ff00"
android:layout_toRightOf="@+id/tv_relativelayout"/>
</RelativeLayout>
</RelativeLayout>
FrameLayout帧布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#ff0000"
android:id="@+id/tv_framelayout"
/>
<TextView
android:layout_width="80dp"
android:layout_height="80dp"
android:background="#00ff00"
android:layout_gravity="center"/>
</FrameLayout>
</FrameLayout>
Activity文件:
package com.zking.admin.android_12;
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 android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class ZuoyeViewpagerActivity extends AppCompatActivity {
private ViewPager vp_zuoye_viewpager;
private List<View> views=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zuoye_viewpager);
vp_zuoye_viewpager = (ViewPager) findViewById(R.id.vp_zuoye_viewpager);
//将布局转化成View,加入View集合中
views.add(getLayoutInflater().inflate(R.layout.activity_zuoye_framelayout,null));
views.add(getLayoutInflater().inflate(R.layout.activity_zuoye_linearlayout,null));
views.add(getLayoutInflater().inflate(R.layout.activity_zuoye_relativelayout,null));
vp_zuoye_viewpager.setAdapter(new Myadapter());
}
class Myadapter extends PagerAdapter{
//有多少个View显示
@Override
public int getCount() {
return views.size();
}
//是否是View控件
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v=views.get(position);
//
container.addView(v);
return v;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
View v=views.get(position);
container.removeView(v);
}
}
}