用viewpager实现了切屏,但是怎么跳转到指定的选项卡

 我来答
guilingjing333
2017-01-07 · 超过67用户采纳过TA的回答
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:54.8万
展开全部
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 tools:context=".MainActivity" >
6
7
8
9 <android.support.v4.view.ViewPager
10 android:id="@+id/viewpager"
11 android:layout_height="wrap_content"
12 android:layout_width="wrap_content"
13
14 >
15 <android.support.v4.view.PagerTabStrip
16 android:id="@+id/tabstrip"
17 android:layout_height="wrap_content"
18 android:layout_width="wrap_content"
19 />
20
21 </android.support.v4.view.ViewPager>
22 </RelativeLayout>

步骤二:选项卡中的内容都是从布局文件中获取,所以我新建两个测试布局“layout1.xml”和“layout2.xml”,里面内容随意。
步骤三:布局已经完成,在MainActivity.java类中,实现关键功能。
首先要声明ViewPager和PagerTabStrip对象,通过findViewById分别找到资源id,声明ArrayList<View>来存放测试布局文件,核心代码如下:

1 package com.example.viewpager;
2
3 import java.util.ArrayList;
4
5 import android.os.Bundle;
6 import android.app.Activity;
7 import android.graphics.Color;
8 import android.support.v4.view.PagerAdapter;
9 import android.support.v4.view.PagerTabStrip;
10 import android.support.v4.view.ViewPager;
11 import android.support.v4.view.ViewPager.OnPageChangeListener;
12 import android.view.Menu;
13 import android.view.View;
14 import android.view.ViewGroup;
15 import android.widget.Toast;
16
17 public class MainActivity extends Activity implements OnPageChangeListener {
18
19 private ViewPager viewpager;
20 private PagerTabStrip tabstrip;
21 private String[] title={"首页","新闻","公告","图片"};
22 private ArrayList<View> views=new ArrayList<View>();
23 @Override
24 protected void onCreate(Bundle savedInstanceState) {
25 super.onCreate(savedInstanceState);
26 setContentView(R.layout.activity_main);
27 viewpager=(ViewPager) findViewById(R.id.viewpager);
28 tabstrip=(PagerTabStrip) findViewById(R.id.tabstrip);
29 initial();
30 viewpager.setAdapter(new MyPagerAdapter());
31 }
32
33 public void initial(){
34 views.add(getLayoutInflater().inflate(R.layout.layout1,null));
35 views.add(getLayoutInflater().inflate(R.layout.layout2,null));
36 views.add(getLayoutInflater().inflate(R.layout.layout1,null));
37 views.add(getLayoutInflater().inflate(R.layout.layout2,null));
38
39 tabstrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light));
40 tabstrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_blue_bright));
41 tabstrip.setTextColor(Color.WHITE);
42 viewpager.setOnPageChangeListener(this);
43 }
44 class MyPagerAdapter extends PagerAdapter{
45
46 @Override
47 public int getCount() {
48 // TODO 自动生成的方法存根
49 return views.size();
50 }
51
52 @Override
53 public Object instantiateItem(ViewGroup container, int position) {
54 View v=views.get(position);
55 container.addView(v);
56 return v;
57 }
58
59 @Override
60 public void destroyItem(ViewGroup container, int position, Object object) {
61 // TODO 自动生成的方法存根
62 //super.destroyItem(container, position, object);
63 container.removeView(views.get(position));
64 }
65 @Override
66 public boolean isViewFromObject(View arg0, Object arg1) {
67 // TODO 自动生成的方法存根
68 return arg0==arg1;
69 }
70 @Override
71 public CharSequence getPageTitle(int position) {
72 // TODO 自动生成的方法存根
73 return title[position];
74 }
75
76 }
77 @Override
78 public void onPageScrollStateChanged(int arg0) {
79 // TODO 自动生成的方法存根
80
81 }
82
83 @Override
84 public void onPageScrolled(int arg0, float arg1, int arg2) {
85 // TODO 自动生成的方法存根
86
87 }
88
89 @Override
90 public void onPageSelected(int arg0) {
91 // TODO 自动生成的方法存根
92 //Toast.makeText(MainActivity.this,"新年快乐",Toast.LENGTH_SHORT).show();
明快又平实灬小鲤鱼I
2017-01-07 · 超过75用户采纳过TA的回答
知道答主
回答量:244
采纳率:0%
帮助的人:74.7万
展开全部
步骤一:这里使用兼容低版本的v4包进行布局,这里eclipse没有输入提示,所以要手动输入,文件名称“activity_main.xml”

1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 tools:context=".MainActivity" >
6
7
8
9 <android.support.v4.view.ViewPager
10 android:id="@+id/viewpager"
11 android:layout_height="wrap_content"
12 android:layout_width="wrap_content"
13
14 >
15 <android.support.v4.view.PagerTabStrip
16 android:id="@+id/tabstrip"
17 android:layout_height="wrap_content"
18 android:layout_width="wrap_content"
19 />
20
21 </android.support.v4.view.ViewPager>
22 </RelativeLayout>

步骤二:选项卡中的内容都是从布局文件中获取,所以我新建两个测试布局“layout1.xml”和“layout2.xml”,里面内容随意。
步骤三:布局已经完成,在MainActivity.java类中,实现关键功能。
首先要声明ViewPager和PagerTabStrip对象,通过findViewById分别找到资源id,声明ArrayList<View>来存放测试布局文件,核心代码如下:

1 package com.example.viewpager;
2
3 import java.util.ArrayList;
4
5 import android.os.Bundle;
6 import android.app.Activity;
7 import android.graphics.Color;
8 import android.support.v4.view.PagerAdapter;
9 import android.support.v4.view.PagerTabStrip;
10 import android.support.v4.view.ViewPager;
11 import android.support.v4.view.ViewPager.OnPageChangeListener;
12 import android.view.Menu;
13 import android.view.View;
14 import android.view.ViewGroup;
15 import android.widget.Toast;
16
17 public class MainActivity extends Activity implements OnPageChangeListener {
18
19 private ViewPager viewpager;
20 private PagerTabStrip tabstrip;
21 private String[] title={"首页","新闻","公告","图片"};
22 private ArrayList<View> views=new ArrayList<View>();
23 @Override
24 protected void onCreate(Bundle savedInstanceState) {
25 super.onCreate(savedInstanceState);
26 setContentView(R.layout.activity_main);
27 viewpager=(ViewPager) findViewById(R.id.viewpager);
28 tabstrip=(PagerTabStrip) findViewById(R.id.tabstrip);
29 initial();
30 viewpager.setAdapter(new MyPagerAdapter());
31 }
32
33 public void initial(){
34 views.add(getLayoutInflater().inflate(R.layout.layout1,null));
35 views.add(getLayoutInflater().inflate(R.layout.layout2,null));
36 views.add(getLayoutInflater().inflate(R.layout.layout1,null));
37 views.add(getLayoutInflater().inflate(R.layout.layout2,null));
38
39 tabstrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light));
40 tabstrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_blue_bright));
41 tabstrip.setTextColor(Color.WHITE);
42 viewpager.setOnPageChangeListener(this);
43 }
44 class MyPagerAdapter extends PagerAdapter{
45
46 @Override
47 public int getCount() {
48 // TODO 自动生成的方法存根
49 return views.size();
50 }
51
52 @Override
53 public Object instantiateItem(ViewGroup container, int position) {
54 View v=views.get(position);
55 container.addView(v);
56 return v;
57 }
58
59 @Override
60 public void destroyItem(ViewGroup container, int position, Object object) {
61 // TODO 自动生成的方法存根
62 //super.destroyItem(container, position, object);
63 container.removeView(views.get(position));
64 }
65 @Override
66 public boolean isViewFromObject(View arg0, Object arg1) {
67 // TODO 自动生成的方法存根
68 return arg0==arg1;
69 }
70 @Override
71 public CharSequence getPageTitle(int position) {
72 // TODO 自动生成的方法存根
73 return title[position];
74 }
75
76 }
77 @Override
78 public void onPageScrollStateChanged(int arg0) {
79 // TODO 自动生成的方法存根
80
81 }
82
83 @Override
84 public void onPageScrolled(int arg0, float arg1, int arg2) {
85 // TODO 自动生成的方法存根
86
87 }
88
89 @Override
90 public void onPageSelected(int arg0) {
91 // TODO 自动生成的方法存根
92 //Toast.makeText(MainActivity.this,"新年快乐",Toast.LENGTH_SHORT).show();
93 }
94
95 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式