以前写过一篇ViewPager:内容content+指示点的Demo;

这篇文章继续介绍ViewPager:内容content+标题title的Demo。

实现效果图:



源代码:

布局文件:activity_main:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_gravity="center" >        <android.support.v4.view.PagerTitleStrip            android:id="@+id/pagerTitle"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="top" >        </android.support.v4.view.PagerTitleStrip>    </android.support.v4.view.ViewPager></RelativeLayout>

f1.xml(体育新闻布局文件):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <RatingBar        android:id="@+id/ratingBar1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true" /></RelativeLayout>

f2.xml(娱乐新闻布局文件):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <ProgressBar        android:id="@+id/progressBar1"        style="?android:attr/progressBarStyleLarge"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="105dp" /></RelativeLayout>

f3.xml(军事新闻布局文件):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity" >    <RadioGroup        android:id="@+id/radioGroup1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginLeft="84dp" >        <RadioButton            android:id="@+id/radio0"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:checked="true"            android:text="RadioButton1" />        <RadioButton            android:id="@+id/radio1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="RadioButton2" />        <RadioButton            android:id="@+id/radio2"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="RadioButton3" />    </RadioGroup></RelativeLayout>

代码文件:

MainActivity:

package com.fragmentdemo11_viewpager;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;public class MainActivity extends Activity {private ViewPager viewPager;private List<String> title;private List<View> content;private LayoutInflater inflater;private MyViewPagerAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewPager = (ViewPager) findViewById(R.id.viewPager);content = new ArrayList<View>();inflater = LayoutInflater.from(this);/** * 添加内容content */content.add(inflater.inflate(R.layout.f1, null));content.add(inflater.inflate(R.layout.f2, null));content.add(inflater.inflate(R.layout.f3, null));/** * 添加每个内容对应的标题title */title = new ArrayList<String>();title.add("体育新闻");title.add("娱乐新闻");title.add("军事新闻");adapter = new MyViewPagerAdapter(this,content,title);viewPager.setAdapter(adapter);}}

ViewPager适配器:

<pre name="code" class="java">package com.fragmentdemo11_viewpager;import java.util.List;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.View;import android.view.ViewGroup;/** * ViewPager适配器 */public class MyViewPagerAdapter extends PagerAdapter {private Context context;private List<View> content;private List<String> title;public MyViewPagerAdapter(Context context, List<View> content,List<String> title) {this.context = context;this.content = content;this.title = title;}/** * 初始化 */@Overridepublic Object instantiateItem(ViewGroup container, int position) {((ViewPager)container).addView(content.get(position));return content.get(position);}/** * title */@Overridepublic CharSequence getPageTitle(int position) {return title.get(position);}@Overridepublic int getCount() {return content.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}/** * 销毁 */@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {((ViewPager)container).removeView(content.get(position));}}

  
源代码下载:

点击下载源码


更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 使用setContentView的方式更换布局文件从而更换界面
  6. Android(安卓)APK反编译详解[转]
  7. Failed to fectch URl https://dl-ssl.google.com/android/repos
  8. Android学习笔记之Button的点击事件切换点击图片
  9. Android(安卓)NDK开发指南(一) Application.mk文件

随机推荐

  1. Android(安卓)加密解密字符串
  2. android Fragment
  3. 封装Android的AsyncHttpClient请求工具
  4. Android(安卓)使用FTP上传文件
  5. Android学习进阶路线导航线路(Android源
  6. android 获取系统电量
  7. 【黑科技】钉钉自动打卡
  8. Android使用DigitalClock进行定时抢购
  9. Android(安卓)Toast提示封装
  10. [Android]查看KeyStore的MD5或SHA1签名