Android作业:Fragment的转换

要实现Fragment的转换,需要两个Fragment。

首先是xml布局

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:gravity="center"
    tools:context="com.example.wdh.fragmentwork.MainActivity">

    <LinearLayout
        android:id="@+id/show"
        android:layout_width="match_parent"
        android:layout_height="261dp"
        android:orientation="vertical">

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center_horizontal">

        <Button
            android:id="@+id/btnshow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:onClick="onClick"
            android:text="@string/btnshow" />

    </LinearLayout>

</LinearLayout>

接下来是第一个Fragment

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
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="com.example.wdh.fragmentwork.FirstFragment">

<TextView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:gravity="center"
 style="@style/First"/>

</FrameLayout>

然后是第二个Fragment

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
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="com.example.wdh.fragmentwork.ScondFragment">

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    style="@style/Scond"/>

</FrameLayout>

最后

package com.example.kimdemon.fragment;

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

First Fragment1;
Second Fragment2;
private boolean qiehuan = true;
private boolean tuichu = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();

Fragment1 = new First();
    transaction.add(R.id.yf_show,Fragment1);
transaction.commit();

}

@Override
public void onClick(View view) {
    if(view.getId() == R.id.yf_btn1){
        tuichu = true;
        if(qiehuan){
            FragmentManager manager = getFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            if (Fragment2 == null){
                Fragment2 = new fragment2();
                transaction.replace(R.id.yf_show,Fragment2);
                transaction.commit();
                qiehuan = false;
            } else{
                transaction.replace(R.id.yf_show,Fragment2);
                transaction.commit();
                qiehuan = false;
            }
        }else{
            Toast.makeText(this,"This is second fragment",Toast.LENGTH_SHORT).show();
        }

    }
}
public boolean onKeyDown(int keyCode, KeyEvent event) {

if(event.getKeyCode()==KeyEvent.KEYCODE_BACK&&tuichu){

FragmentManager manager = getFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
qiehuan = true;
        tuichu = false;
transaction.replace(R.id.yf_show,Fragment1);
        transaction.commit();
return  false;
    } else {
        finish();
    }
    return super.onKeyDown(keyCode, event);

}

}

这次作业感觉一直在云里雾里,整个人都处于懵逼状态...

END

时间: 2024-10-30 06:54:13

Android作业:Fragment的转换的相关文章

android基础----&gt;Fragment的使用

碎片(Fragment)是一种可以嵌入在活动当中的UI 片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛. Fragment的基础例子 一.增加Fragment,another_right_fragment.xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

android之Fragment基础详解(一)

一.Fragment的设计哲学 Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互. 针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的.难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊.Fragment的出现就是为了解决这样的问题.你可以把Frag

Android碎片Fragment总结

一.Fragment的相关概念 (一)Fragment的基础知识 Fragment是Android3.0新增的概念,中文意思是碎片,它与Activity十分相似,用来在一个 Activity中描述一些行为或一部分用户界面.使用多个Fragment可以在一个单独的Activity中建 立多个UI面板,也可以在多个Activity中使用Fragment. Fragment拥有自己的生命 周期和接收.处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了.更为 重要的是,你可以动态的

Android入门——Fragment详解之基本概念与用法(一)

引言 Android在3.0中引入了Fragments的概念,其目的是用在大屏幕设备上–例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互.Fragment允许这样的一种设计,而不需要你亲自来管理 Viewhierarchy的复杂变化. 通过将Activity的布局分散到Fragment中, 你可以在运行时修改Activity的外观,并在由Activity管理的back stack中保存那些变化. 一.F

Android之 Fragment

什么是Fragment: Android是在Android 3.0 (API level 11)开始引入Fragment的. 可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块. 可以把Fragment设计成可以在多个Activity中复用的模块. 当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验. Fragment的意义:

Android中Fragment的分屏显示处理横竖屏显示

演示效果如下: 另外在竖屏的时候是这样的效果: 布局文件如下: 可以看出有两个资源文件,一个是处理横屏一个是竖屏 第一个: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&qu

Android——ViewPager+Fragment+ListView之间

Android--ViewPager+Fragment+ListView之间 <span style="font-size:18px;">package com.example.jreduch05; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.app.A

[转]android.support.v4.app.Fragment和android.app.Fragment区别

1.最低支持版本不同 android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版 android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="4" 即1.6版 2.需要导jar包 fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar 3.在Activity

Android之fragment生命周期解析

上篇讲到了Fragment的基础应用,现在给大家演示一下Fragment的生命周期是什么样子的.关于Fragemnt的基础应用,请见http://blog.csdn.net/jiapeng2b/article/details/46919859. 一.首先,我们先看一下Fragment的生命周期 跟Activity生命周期的对比 Activity直接影响它所包含的fragment的生命周期,所以对activity的某个生命周期方法的调用也会产生对fragment相同方法的调用.例如:当activi