Android碎片使用

首先新建一个fragment的布局文件,

<?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">

<Button
        android:id="@+id/btnLeftFrag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button in left fragment" />

</LinearLayout>

然后在新建控制该fragment的类,该类继承自Fragment。

package com.example.flypie.notesbook.Fragment;

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

import com.example.flypie.notesbook.R;

/**
 * Created by FLYPIE on 2015/12/11.
 */
public class LeftFragment extends Fragment{

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

在需要使用该fragment的布局中加入

<fragment
    android:id="@+id/fragLeft"
    android:name="com.example.flypie.notesbook.Fragment.LeftFragment"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"

tools:layout="@layout/left_fragment" />

注意:加载布局时会执行android:name指定的类

Fragment与所在Activity之间通信:

在Activity中可以通过以下方法更改不同的Fragment:

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

fragmentTransaction.replace(R.id.rightLayout,anotherRightFragment);

fragmentTransaction.addToBackStack(null);

fragmentTransaction.commit();

注意:其中的R.id.rightLayout是包含当前要更换的fragment的容器

在Fragment中可以通过以下方法获取所在Activity的实例,进而调用其方法:

TestFragmentActivity testFragmentActivity = (TestFragmentActivity) getActivity();

可以通过调用Activity的以下方法获取指定的fragment的实例,进而调用其方法:

RightFragment rightFragment = (RightFragment) testFragmentActivity.getFragmentManager().findFragmentById(R.id.fragRight);

时间: 2024-11-05 15:55:06

Android碎片使用的相关文章

Android碎片化的处理

产生碎片化的原因: 1.屏幕尺寸   small   normal   large   xlarge  xxlarge 2.屏幕分辨率 3.横纵屏幕 4.系统版本 碎片的解决: 1.dp/sp 系统未我们提供了可以规避部分碎片化的单位 2.针对不同的版本 系统提供android-support-v4包,可以让低版本的系统实现高版本的功能 引用外部的开源项目 3.解决横纵屏 步骤: 创建一个xml布局文件,文件名要相同,对应的控件的id也要相同 Resource type--->Layout---

Android碎片Fragment总结

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

android:碎片的生命周期

和活动一样,碎片也有自己的生命周期,并且它和活动的生命周期实在是太像了,我相 信你很快就能学会,下面我们马上就来看一下. 4.3.1    碎片的状态和回调 还记得每个活动在其生命周期内可能会有哪几种状态吗?没错,一共有运行状态.暂停 状态.停止状态和销毁状态这四种.类似地,每个碎片在其生命周期内也可能会经历这几种 状态,只不过在一些细小的地方会有部分区别. 1.    运行状态 当一个碎片是可见的,并且它所关联的活动正处于运行状态时,该碎片也处于运行 状态. 2.    暂停状态 当一个活动进

android学习八(android碎片fragment的使用)

碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用屏幕的空间.首先建立一个平板的模拟器1034*600,环境使用android4.2.2.在建立一个android的项目,项目名为FragmentTest. 碎片的简单使用 新建一个左侧碎片布局left_fragment.xml代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr

android: 碎片的demo

现在你已经将关于碎片的重要知识点都掌握得差不多了,不过在灵活运用方面可能还有 些欠缺,因此又该进入我们本章的最佳实践环节了. 前面有提到过,碎片很多时候都是在平板开发当中使用的,主要是为了解决屏幕空间不 能充分利用的问题.那是不是就表明,我们开发的程序都需要提供一个手机版和一个 Pad 版 呢?确实有不少公司都是这么做的,但是这样会浪费很多的人力物力.因为维护两个版本的 代码成本很高,每当增加什么新功能时,需要在两份代码里各写一遍,每当发现一个 bug 时, 需要在两份代码里各修改一次.因此今天

如何适应android碎片化的屏幕

在碎片化的Android设备中,设备的屏幕大小和密度也有很多类型,所以android帮我们定义了 四种大小类型:small,normal,large,xlarge 四种屏幕密度:ldpi(120dpi),mdpi(160dpi),hdpi(240dpi),xhdpi(320dpi) (屏幕密度可以理解成单位面积的区域上有多少像素点,像素点越多,屏幕密度越大,显示得越清晰) 我们一般会用dp来定义长度,用sp来定义文字大小. 为什么要用dp来定义长度呢?原因很简单,当不使用dp定义长度的时候,ui

Android碎片:Fragment

Fragment的作用: Fragment的产生其实是谷歌为了解决手机端和平板端软件开发的问题,在Fragment出来之前开发安卓软件如果要同时运行在pad和手机上就得开发两个软件,有了碎片也就是Fragment之后只要开发一个软件就可以适应pad和手机,不受屏幕大小的影响.而且Fragment有自己生命周期使用起来超级方便,逻辑处理可以直接在Fragment里面处理好,然后在Activity中有需要的地方引用这个Fragment就行了 Fragment有android.support.v4.a

Android碎片的使用

一.动态添加碎片 1> 新建三个布局 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent&qu

Android屏幕适配解决方案

1.概述 Android碎片化问题是每个开发者心中的噩梦,本文就Android适配问题进行了全面的总结. 首先看下谷歌官方2016 年 8 月 1 日发布的报告: Android 平台版本的相对数量设备的相关数据: 可以看出4.1版本及以上占有量达到96%,所以适配优先考虑4.1以上的版本适配问题. 特定屏幕配置的设备的数据,屏幕配置由屏幕尺寸和密度定义: 从统计数据可以看出,hdpi.xhdpi和xxhdpi的占有率达到95%. 详细统计数据看这里: https://developer.and