Fragment简单示例

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

Fragment是SDK3.0以后才出来的新特性,网上关于它的例子很多,我学习的时候也查阅过很多种类型的,但是我发现没有哪个是我看完就自己会编的,现在我发上来我认为至少我一看就会编的程序上来供大家参考,当然程序肯定是我自己写的,首先先创建3个类,名字自己随便取,当然也要创建与之匹配3个布局文件,名字也随便,下面上代码:

FragmentDemo的Java代码:

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

public class FragmentDemo extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            //创建一个view对象,并获取布局文件
        View view = inflater.inflate(R.layout.fragmentdemo_layout,container,false);
        //返回的view就作为当前Activity的布局
        return view;
    }
}
然后与之对应的布局文件:

<?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="@color/gray"
    android:orientation="vertical">

</LinearLayout>
FragmentDetail的Java代码:

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

public class FragmentDetail extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        inflater.inflate(R.layout.fragmentdemo_layout,null);
        View view =inflater.inflate(R.layout.fragmentdetail,container,false);
        return view;
    }
}

与之对应的布局文件:

<?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="@color/orange"
    android:orientation="vertical">

</LinearLayout>

MainActivity的Java代码:

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Display;
import android.view.WindowManager;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //实例化一个FragmentManager,并调用beginTransaction()方法
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        //获取当前屏幕
        WindowManager manager = getWindowManager();
        Display display = manager.getDefaultDisplay();
           //获取并比较屏幕的宽和高
        if (display.getWidth()>display.getHeight()) {
            FragmentDemo fragmentDemo = new FragmentDemo();
            transaction.replace(android.R.id.content,fragmentDemo);
        }else {
            FragmentDetail fragmentDetail = new FragmentDetail();
            transaction.replace(android.R.id.content,fragmentDetail);
        }
        //调用commit()方法提交
            transaction.commit();
    }
}
与之对应的布局文件:

<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"
    tools:context=".MainActivity"
    android:orientation="horizontal">



</LinearLayout>

好了,代码部分完毕,大家会发现,这三个布局文件都只是采用LinearLayout方式布局,并没有写button或者textview之类的控件,当然写也可以,有兴趣的读者可以自己写写看,

该程序实现的功能就是如果竖屏,屏幕会显示橘黄色,横屏则会显示灰色;效果如图

:

到这里,其实关于Fragment的简单示例就差不多完了,但是为啥还要说呢,大家看到这个模拟器了没,我用的不是安卓自带的模拟器,安卓自带的模拟器开机速度和加载程序的速度我想用过的人都深有体会吧,那怎是一个慢字了得,所以果断抛弃了它,现在我用的是genymotion模拟器,我想用过的人也深有体会吧,我感觉genymotion和安卓原生模拟器就是一个在天上,一个在地下,无论是开机速度(genymotion开机大约也就10s--30s左右,原生模拟器至少90s以上吧),还是程序加载速度(genymotion从安装到显示出来也就5s左右,原生模拟器至少20s以上),还是运行速度(genymotion操作相当流畅,原生模拟器点一个button都一卡一卡的,并且还老容易"死机"),有人说genymotion用着这么爽,能不能装其他安卓应用或游戏呢,答案是肯定的,不仅可以装,并且玩的和真机一样爽,试想一下,开着多个模拟器,一边玩斗地主,一边玩五子棋,还一边登着qq聊天,那感觉....那么怎么装genymotion呢,请看我下一个博文-----超级安卓模拟器genymotion

Fragment的用法,举例介绍 Fragment(碎片) 1、碎片是什么 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛。虽然碎片对你来说应该是个全新的概念,但我相信你学习起来应该毫不费力,因为它和活动实在是太像了,同样都能包含布局,同样都有自己的生命周期。你甚至可以将碎片理解成一个迷你型的活动,虽然这个迷你型的活动有可能和普通的活动是一样大的。... 阅读详情

相关推荐

Fragment例子2

使用动态的方式创建fragment,方便学习 。

Android Fragment完全解析,关于碎片你所需知道的一切

转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/8881711 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述。 但是Activity也有它的局限性,同样的界面在手机上显示可能很好看,在平板上就未必了,因为平板的屏幕非常大,手机的界...

runfeel 1493

Fragment详解及举例

1.为什么用FragmentAndroid3.0提出)来替代TabActivity(Android4.0以后正式被弃用)? 因为Fragment可以适应各种不同屏幕大小,也就是适应不同屏幕的分辨率。例如: 当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。 2.Fragment的特征: Fragment是Activity...

denggu8595的博客 343

Fragment案例

对Activity和Fragment进行联合使用,包括Activity往Fragment传值,反之传值以及Fragemnt和Fragment之间的传值,主要就是借助Activity进行传值

简单点的博客 1291

Fragment应用实例

创建Fragment需要实现三个方法 onCreate():系统创建Fragment对象回调后的方法,在实现代码中只初始化想要在Fragment中保持的必要组件,当Fragment被暂停或停止后可以恢复 onCreateView():当Fragment绘制界面组件时会回调该方法。该方法必须返回一个View,该View也就是该Fragment所显示的View onPause():当用户离开该Fragment时将会回调该方法 开发显示图书详情的Fragment,涉及Fragment与Activity之间

霸王龙的博客 615

Fragment使用简单示例

Fragment即碎片,使用它可以减少Activity的代码量,降低耦合,使代码更清爽,更易于读懂。它和Activity具有类似的生命周期,连主要使用的方法也一样。Fragment添加到Activity的FragmetLayout:FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); tra

Blog for 明月依希 1514

fragment使用的简单示例

实现如下效果

XliubaoX的专栏 659

两个Fragment简单跳转示例

跳转起来有那么简单,我们为什么还要使用Fragment呢?这是因为Fragment相对Activity而言更加的轻量级,使用起来也更加灵活,在一个程序的内部界面切换,尽可能的用Fragment代替Activity会让我们的APP运行起来更加的流畅,更加的高效,同时也提高了界面的复用性。而却Fragment在适应多尺寸屏幕方面表现也非常优秀。   首先看一下例子,非常简单的一个小示例,效果图如

tanghongchang123的博客 826

fragment (1)简单示例:定义,界面配置,fragment之间的跳转

fragment作用 同一程序中切换界面 比activity轻快,灵活. fragment代码示例 package com.example.f6k5i8.lfragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.ap

学习笔记 976

android ---Fragment简单示例

今天说讲讲静态fragment的使用 <fragment android:name="com.example.fragment1.FirstFragment" android:layout_weight="1" android:id="@+id/first_fragment" android:layout_width="match

ksj_j的博客 733

android ---Fragment简单示例2

实现的功能是可以一个动态切换的fragment,可以通过图片点击切换fragment,图片也会相应改变 这里有两种做法 第一种 import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; 第二种 import android

ksj_j的博客 609

Android学习笔记(七)两个Fragment简单跳转示例

  在前两篇博文中分别介绍了Fragment得基础和Fragment的生命周期,然而说了这么多Fragment到底怎么用呢以及我们为什么要使用Fragment?本篇博文将主要探讨这两个问题,首先说下在APP中有这好好Activity,跳转起来有那么简单,我们为什么还要使用Fragment呢?这是因为Fragment相对Activity而言更加的轻量级,使用起来也更加灵活,在一个程序的内部...

anxiushang5448的博客 241

Fragment简单使用

最近一直有点忙,刚刚看到一个朋友的留言提到Fragment中加载ListView的问题,这里写了一个非常简单的测试,至于对Fragment的增、删、改实现动态布局构建灵活的UI,以后有时间在讨论: MainActivity: package com.home.testfragment; import java.util.ArrayList; import java.util.List;...

weixin_33866037的博客 74

Android学习之fragment

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人。

2401_85730792的博客 908

DrawLayout加上Fragment简单运用

1&gt;//一个简单的布局 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id=

SuperZhongyulong的博客 375

Android 简单易懂的ViewPager嵌套Fragment展示页面滑动效果

可以说这个控件在现在的app当中经常用到,简单实用,就是fragment与viewpager结合,很简单,具体的都不介绍了。MainActivitypackage com.example.fragment_demo;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android....

______夏日飞雨 575

fragment简单使用

项目中经常会用到fragment,写了个简单的demoActivitypublic class MainActivity extends FragmentActivity implements OnClickListener { private FrameLayout frame; private LinearLayout layout_car; private LinearLa

337
上一篇: 使用Intent启动一个Activity,再返回到之前的Activity
下一篇: 超级安卓模拟器genymotion
qiang_xi
博客等级 码龄11年 125粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值