android单个页面切换_Android之怎样实现滑动页面切换【Fragment】

这个包。

这是Android4.0之后才支持的版本号4.0之前不支持这个包(有另外一个专门的包)package com.example.fragmentpage;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

public class Fragment1 extends Fragment {

private View tab1view;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

tab1view=inflater.inflate(R.layout.tab1, container, false);

return tab1view;

}

}

Fragment2

package com.example.fragmentpage;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

public class Fragment2 extends Fragment {

private View tabview1;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

tabview1 = inflater.inflate(R.layout.tab2, container,false);

return tabview1;

}

}

Fragment3

package com.example.fragmentpage;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

public class Fragment3 extends Fragment{

private View tab3view ;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

tab3view = inflater.inflate(R.layout.tab3, container, false);

return tab3view;

}

}

第四步:

在MainActivity中写入

package com.example.fragmentpage;

import android.os.Bundle;

import android.app.Activity;

import android.support.v4.app.Fragment;

import android.support.v4.app.FragmentActivity;

import android.support.v4.app.FragmentManager;

import android.support.v4.app.FragmentTransaction;

import android.text.method.HideReturnsTransformationMethod;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.Window;

import android.widget.TextView;

public class MainActivity extends FragmentActivity implements OnClickListener{

private TextView t1;

private TextView t2;

private TextView t3;

private Fragment tab1;

private Fragment tab2;

private Fragment tab3;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

initView();//依据Id索引组件

initEvent();//加入监听

setSelect(0);//

}

private void initEvent() {

t1.setOnClickListener(this);

t2.setOnClickListener(this);

t3.setOnClickListener(this);

}

private void initView() {

t1 = (TextView) findViewById(R.id.text1);

t2 = (TextView) findViewById(R.id.text2);

t3 = (TextView) findViewById(R.id.text3);

}

/*

* 重置textView的内容

* */

private void reset() {

t1.setText("标题1");

t2.setText("标题2");

t3.setText("标题3");

}

private void setSelect(int i) {

// TODO Auto-generated method stub

FragmentManager fm=getSupportFragmentManager();

FragmentTransaction trs = fm.beginTransaction();

//隐藏Fragment

hideFragment(trs);//使所有隐藏

switch(i){

case 0:

if(tab1 == null){

tab1 = new Fragment1();//创建Fragment1的对象(一个页面)

trs.add(R.id.id_content,tab1);

}

else {

trs.show(tab1);//使当前Activity显示tab1即Fragment1页面

}

t1.setText("选中");

break;

case 1:

if(tab2 == null){

tab2 = new Fragment2();

trs.add(R.id.id_content, tab2);

}else{

trs.show(tab2);

}

t2.setText("选中");

break;

case 2:

if(tab3 == null){

tab3 = new Fragment3();

trs.add(R.id.id_content, tab3);

}else {

trs.show(tab3);

}

t3.setText("选中");

break;

default:

break;

}

trs.commit();

}

@Override

public void onClick(View v) {//监听事件

// TODO Auto-generated method stub

reset();

switch(v.getId()){

case R.id.text1:

setSelect(0);

break;

case R.id.text2:

setSelect(1);

break;

case R.id.text3:

setSelect(2);

break;

default:

break;

}

}

private void hideFragment(FragmentTransaction trs) {

// TODO Auto-generated method stub

if(tab1!=null){

trs.hide(tab1);

}

if(tab2!=null)

{

trs.hide(tab2);

}

if(tab3!=null)

{

trs.hide(tab3);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值