安卓点击左右切换页面Fragement

做一个简单的点击左右切换页面,下次再发一个点击后底部图标也会切换和文字也会变换颜色的

只是发教程,所以就用eclipse写,没用AS

代码如下

MainActivity.java

package cn.wuxiaocheng.fragment;

import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.Window;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener{

    private FragmentManager fm;
    private FragmentTransaction ft;
    
    //两个页面
    private FragmentHome fh;
    private FragmentSet fs;
    
    //两个底部
    private TextView tvhome;
    private TextView tvset;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);        //去掉顶部标题栏
        setContentView(R.layout.activity_main);
            
        //初始化底部
        initView();
        //设置默认的Fragment
        setDefaultFragment();
    }

    //设置默认的Fragment
    private void setDefaultFragment() {
        fm = getFragmentManager();
        ft = fm.beginTransaction();
        fh = new FragmentHome();
        ft.replace(R.id.main_view, fh);
        ft.commit();
    }

    //初始化空间和声明事件
    private void initView() {
        tvhome = (TextView) findViewById(R.id.id_home);
        tvset = (TextView) findViewById(R.id.id_set);
        
        tvhome.setOnClickListener(this);
        tvset.setOnClickListener(this);
    }

    //点击事件
    @Override
    public void onClick(View v) {
        fm = getFragmentManager();
        //开启fragment事物
        ft = fm.beginTransaction();
        
        switch (v.getId()) {
        case R.id.id_home:
            if (fh == null) {
                fh = new FragmentHome();
            }
            ft.replace(R.id.main_view, fh);
            break;
        case R.id.id_set:
            if (fs == null) {
                fs = new FragmentSet();
            }
            ft.replace(R.id.main_view, fs);
            break;
        }
        // ft.addToBackStack(); 
        //事物提交
        ft.commit();
    }
}

FragmentHome.java

package cn.wuxiaocheng.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentHome extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_home,null);
        
        return view;
    }
}

FragmentSet.java

package cn.wuxiaocheng.fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class FragmentSet extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_set,null);
        
        return view;
    }
}

布局代码如下:

activity_main.xml

<LinearLayout 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"
    android:orientation="vertical" >
    
    <FrameLayout 
            android:id="@+id/main_view"
            android:layout_height="0dp"
            android:layout_width="match_parent"
            android:layout_weight="1"></FrameLayout>
    
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal"
        android:background="#eeeeee"
        >
        
        <TextView
            android:id="@+id/id_home"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="首页" />
        <TextView
            android:id="@+id/id_set"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="设置" />        
        </LinearLayout>

</LinearLayout>

fragment_home.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center" >
    
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:textSize="26sp"
        android:text="Home"/>

</LinearLayout>

fragment_set.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00FF66"
    android:gravity="center" >
    
    <TextView
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:textColor="#FF0033"
        android:textSize="26sp"
        android:text="Set"/>

</LinearLayout>

效果如下图

时间: 2024-10-11 03:14:44

安卓点击左右切换页面Fragement的相关文章

初识安卓小程序(点击按钮切换屏幕颜色)

如图,点击按钮就会切换屏幕的颜色 首先,先创建一个安卓项目(我的版本是4.4.2的),名字为"world",当然,也可以别的名称 然后在res文件夹下找到layout文件夹,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽按钮 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt

解决ionic2/ionic3轮播图切换页面或者点击过后不自动轮图

我们在ionic2/ionic3开发的过程中会出现切换页面或者滑动切换轮播图出现轮播图不再轮播的情况,这其实需要一些配置. 首先在运用到轮播图的component中引入 import {ViewChild } from '@angular/core'; import { Slides } from 'ionic-angular'; 然后 @ViewChild(Slides) slides: Slides; //解决切换其他页面回去轮播图不动问题 ionViewWillEnter(){ this.

【REACT NATIVE 系列教程之八】不使用NAVIGATOR实现切换(页面)场景的两种形式(逻辑与MODAL)

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2285.html 在第五篇中介绍了使用导航Navigator进行(页面)场景的切换,但是对于一些需求其实是无法满足,或者说太浪费.例如: 1. 只是想做一个很简单的页面切换,并不需要记录从哪来-也不需要手势滑屏返回等,这时使用导航Navigator太浪费了. 2. 假设: a) 有个View 包括一个Navigato

Android手指滑动切换页面

Android手指滑动切换页面 介绍:实现手指滑动切换页面,页面头部的tab下方出现一个条纹来显示当前页面.也可以点击tab来切换页面.可以更改tab的配色方案. 下载地址:http://www.devstore.cn/code/info/1080.html 运行截图: 热门源码下载: 高仿京东商城 Android快速开发不可或缺的11个工具类 Android快速开发框架LoonAndroid Android应用源码比较不错的新闻客户端 版权声明:本文为博主原创文章,未经博主允许不得转载.

安卓手机微信中清除页面缓存的方法

安卓手机微信中清除页面缓存的方法只在安卓中有效,ios微信刷新页面即可清除缓存. 1.微信中打开网页 http://debugx5.qq.com. 2.滑动到底部,如图所示勾选4个缓存选项,点击清除即可. 此外,该网页还提供了其他功能,如使用VConsole进行调试等. 原文地址:https://www.cnblogs.com/luoyihao/p/12207327.html

分析js操作动态获取屏高并触发按钮点击事件回到页面窗口的顶部

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>回到顶部</title> <style> .d1{ width:100%; height:5000px; } #btn{ width:100px; height:40px; position:fixed; right:0; bottom:0; dis

安卓通话免提切换

实现免提开启和关闭 需要添加的权限网站模板 [<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>] 01/** 02 * 免提 03 * 04 * @param context 05 */ 06private void toggleSpeaker(Context context) 07{ 08    AudioManager am = (AudioManager) contex

导航条点击按钮切换效果

<!--[if IE]><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><![endif]--><html xmlns="http://www.w3.org/1999/xhtml"><head>&

selector实现点击图片切换(解决常见的点击无效问题)

实现效果图:       图片未点击前                         图片点击后 selector的实现方法其实很简单,只需3步: 第一步:选择两张图片效果图放在res/drawable-hdpi中,放在mdpi也可以 第二步:在mdpi文件夹中新建xml文件,命名为selector.xml.注意名字selector后面会引用到. 在selector.xml文件中,完成代码: <?xml version="1.0" encoding="utf-8&qu