ViewPager之PagerTitleStrip和PagerTabStrip
//agerTabStrip代码如下:
效果图
// An highlighted block
public class PagerTabStripMainActivity extends AppCompatActivity {
ViewPager viewPager;
List<ImageView> data = new ArrayList<>();
int[] images ={R.mipmap.xiaofangzi,R.mipmap.sousuowendang,R.mipmap.faxian,R.mipmap.gouwuche,R.mipmap.wo};
MyAdapter myAdapter;
String[] strs = {"首页","分类","发现","购物车","我"};
PagerTabStrip pagerTabStrip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pager_tab_strip_main);
viewPager = findViewById(R.id.pager);
pagerTabStrip = findViewById(R.id.tiltle);
pagerTabStrip.setDrawFullUnderline(false);//设置是否显示下划线 , false 不显示
pagerTabStrip.setBackgroundColor(Color.YELLOW);//设置PagerTabStrip背景色
pagerTabStrip.setTabIndicatorColor(Color.RED);//设置下划线颜色
for (int i= 0;i<images.length;i++){
ImageView iv = new ImageView(this);
iv.setImageResource(images[i]);
data.add(iv);
}
myAdapter = new MyAdapter();
viewPager.setAdapter(myAdapter);
}
public class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
return data.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(data.get(position));
return data.get(position);
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(data.get(position));
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return strs[position];
}
}
}
//布局文件
// An highlighted block
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".PagerTabStripMainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:id="@+id/tiltle"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_gravity="bottom"
></android.support.v4.view.PagerTabStrip>
</android.support.v4.view.ViewPager>
</LinearLayout>
PagerTitleStrip
效果图:
// An highlighted block
public class PagerTitleStripMainActivity extends AppCompatActivity {
ViewPager viewPager;
List<ImageView> data = new ArrayList<>();
int[] images ={R.mipmap.xiaofangzi,R.mipmap.sousuowendang,R.mipmap.faxian,R.mipmap.gouwuche,R.mipmap.wo};
MyAdapter myAdapter;
String[] strs = {"首页","分类","发现","购物车","我"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pager_title_strip_main);
viewPager = findViewById(R.id.pager);
for (int i= 0;i<images.length;i++){
ImageView iv = new ImageView(this);
iv.setImageResource(images[i]);
data.add(iv);
}
myAdapter = new MyAdapter();
viewPager.setAdapter(myAdapter);
}
public class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
return data.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(data.get(position));
return data.get(position);
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(data.get(position));
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return strs[position];
}
}
}
//布局文件
// An highlighted block
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".PagerTitleStripMainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/tiltle"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_gravity="bottom"
></android.support.v4.view.PagerTitleStrip>
</android.support.v4.view.ViewPager>
</LinearLayout>
DialogFragment和ListFragment
java代码
// An highlighted block
public class ListFragmentActivity extends AppCompatActivity {
FrameLayout frameLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_fragment);
frameLayout = findViewById(R.id.fl3);
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
MyFragmnet1 myFragmnet1 = new MyFragmnet1();
MyFragment2 myFragment2 = new MyFragment2();
transaction.add(R.id.fl1,myFragmnet1);
transaction.add(R.id.fl2,myFragment2);
transaction.commit();
frameLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyFragment3 myFragment3 = new MyFragment3();
myFragment3.show(getSupportFragmentManager(),"aaa");
}
});
}
}