先看效果吧
布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main2Activity">
<android.support.v4.view.ViewPager
android:id="@+id/viewP"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<android.support.v4.view.PagerTabStrip
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</android.support.v4.view.PagerTabStrip>
</android.support.v4.view.ViewPager>
</RelativeLayout>
主类
package com.example.part_twelve_list_dialog;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import java.util.ArrayList;
public class Main2Activity extends AppCompatActivity {
ViewPager viewPager;
ArrayList<String>arrayList=new ArrayList<>();
ArrayList<ImageView>imageViews=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
viewPager=findViewById(R.id.viewP);
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.yi);
ImageView imageView2 = new ImageView(this);
imageView2.setImageResource(R.drawable.er);
ImageView imageView3 = new ImageView(this);
imageView3.setImageResource(R.drawable.san);
for(int i=0;i<3;i++){
arrayList.add("金人"+i);
}
imageViews.add(imageView);
imageViews.add(imageView2);
imageViews.add(imageView3);
MyPageAdapter myPageAdapter = new MyPageAdapter(arrayList, imageViews);
myPageAdapter.notifyDataSetChanged();
viewPager.setAdapter(myPageAdapter);
}
}
自定义类实现PageAdapter
package com.example.part_twelve_list_dialog;
import android.media.Image;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import java.util.ArrayList;
class MyPageAdapter extends PagerAdapter {
ArrayList<String>arrayList;
ArrayList<ImageView>images;
public MyPageAdapter(ArrayList<String> arrayList, ArrayList<ImageView> imageViews) {
this.arrayList=arrayList;
this.images=imageViews;
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view==o;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
container.addView(images.get(position));
return images.get(position);
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(images.get(position));
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return arrayList.get(position);
}
}
效果2
Xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/layout_01"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一个界面"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_02"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二个界面"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_03"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第三个界面"
/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
## 主类
package com.example.part_twelve_list_dialog;
import android.app.TabActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TabHost;
import android.widget.Toast;
public class Main3Activity extends TabActivity {
private TabHost tabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
tabHost=getTabHost();
tabHost.addTab(tabHost.newTabSpec("t1").setIndicator("新闻").setContent(R.id.layout_01));
tabHost.addTab(tabHost.newTabSpec("t2").setIndicator("故事").setContent(R.id.layout_02));
tabHost.addTab(tabHost.newTabSpec("t3").setIndicator("娱乐").setContent(R.id.layout_03));
tabHost.getChildAt(0).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(Main3Activity.this, "点界面1啦!", Toast.LENGTH_SHORT).show();
}
});
}
}