用viewpager实现了切屏,但是怎么跳转到指定的选项卡
2个回答
展开全部
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();
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();
展开全部
步骤一:这里使用兼容低版本的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 }
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 }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询