Fragment的用法(类似于.net的用户控件,重用性好)。。。。---------------android

就想winform里的用户控件一样,你可以在一个页面初始化的时候,直接就在指定位置加一个用户控件,也可以更具数据来动态添加。

对于安卓里的fragment,也有这两种方式,一个叫静态加载,一个叫动态加载。

不管是静态还是动态,首先要有一个fragment的activity

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.administrator.myapplication.fragment">

<TextView android:text="你好" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:id="@+id/sk"/>

</RelativeLayout>
package com.example.administrator.myapplication;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class fragment extends Fragment { //必须继承这个类

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      return super.onCreateView(inflater, container, savedInstanceState);
    }
}

然后再建一个activity来展示静态和动态的方法加载fragment

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.administrator.myapplication.Main2Activity"
    >
    <fragment
        android:id="@+id/fragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:name="com.example.administrator.myapplication.fragment"
        android:tag="这里是静态加载,上面的那个参数name,是fragment的类">
    </fragment>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/frame"
        android:orientation="horizontal"
        android:tag="这里是动态加载,只需要有个id,后台根据这个id,在这个layout里面加载一个fragment">
    </LinearLayout>
</LinearLayout>

下面在这个页面的后台代码里,展示了静态加载和动态加载

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fragment);//这个方法必须有,虽然填的不是当前页面,当时加载后的页面就是当前页面

        //以下是静态加载,在静态加载时,可以访问fragment里面的控件
        TextView textView=(TextView)findViewById(R.id.sk);
        textView.setText("你好");

        //一下是动态下载的详细步奏
        fragment fragment = new fragment();//实例化这个fragment的类
        FragmentManager fragmentManager = getFragmentManager() ;
        FragmentTransaction tran=fragmentManager.beginTransaction();//获取一个事务
        tran.add(fragment, null);//添加这个事务的内容
        tran.commit();//提交事务
    }
时间: 2024-10-03 23:53:25

Fragment的用法(类似于.net的用户控件,重用性好)。。。。---------------android的相关文章

用户控件的一些使用

平常写代码有很多代码可能会重复出现. 比如一个网站的顶部和底部 几乎是每个页面都需要的 用户控件就可以帮助解决这一问题. 一.用法举例 1.使用的时候可以最顶上添加图片和主题来修饰网站 2.下面就是一排跳转按钮. 做到类似菜单的效果一样 3.还可以添加一个个人头像保证每个页面都能看到头像 运行实例 这幅截图就是一个完整的用户控件.其它页面调用的时候直接引用就行了 二.编写用户控件 1.添加窗体用户控件 2.给用户控件填写代码 其中不允许添加html,body,form 等标签 <%@ Contr

.net用户控件

用户控件用户控件是个什么东西?自定义的反复重用的控件集合 好处?1.代码重用2.结构良好3.分工开发4.局部缓存 难点:一.交换信息: 注意信息的交换只在相邻层之间进行交换,如果是嵌套交换信息除Session外都需要一层一层的写代码交互 (一)从页面向用户控件交换信息.代码写在页面中. 1.用户控件名.FindControl("用户控件中的控件的ID") TextBox textBox1 = WUC1.FindControl("TextBox1") as TextB

[Aaronyang] 写给自己的WPF4.5 笔记13[二维自定义控件技巧-可视化状态实战,自定义容器,注册类命令,用户控件补充]

 我的文章一定要做到对读者负责,否则就是失败的文章  ---------   www.ayjs.net    aaronyang技术分享 博文摘要:欢迎大家来支持我的<2013-2015 Aaronyang的又一总结,牧童遥指纳尼村>绝对好文章 关于<写给自己的WPF4.5 笔记14,已在官网发布> 1.讲解了自定义控件加入命令支持的两种手段,补充用户控件的客户定义模板 2.实战的方式讲解了无外观控件,可以让使用者定义模板,讲解模板PART,使用可视化状态组,动画的使用 效果演示:

用户控件与页面间相互给各自的控件赋值

用户控件 ->页面 ((Label)this.Parent.Page.FindControl("AAA")).Text = "ABC"; AAA:页面控件ID Label:页面控件类型 页面 -> 用户控件 ((HiddenField)POPUSER_1.FindControl("hidNO")).Value = "VNBB"; POPUSER_1:用户控件ID HiddenField:用户控件中需要处理的控件的类

用户控件,动态创建添加用户控件

用户控件的制作步骤 1,新建一个项目,文件>新建>项目. 2,添加>新建项>用户控件.文件类型为.cs 使用用户控件 在用户控件设计业点击工具栏中的生成项,选择第一项生成解决方案,或直接点F6: 生成成功后在windows窗体的工具栏最顶端就会显示此用户控件 动态添加控件 输入一个值为n,点击按钮,动态生成n个按钮,并编号号 private void button1_Click(object sender, EventArgs e) { //先获取用户输入的是几 int count

WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日

好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修改使用 动态创建添加控件: 1 //定义控件类型 2 Button btn = new Button(); 3 //控件名称……等属性,也可以直接绑定各种事件 4 btn.Name = "mybutton" + i.ToString(); 5 //添加到窗体 this 可以替换为 容器控件 6 this.Co

无边框窗体和用户控件以及权限

无边框窗体: 就是吧窗体的边框去掉,然后自己做按钮设置功能. 无边框窗体的移动: 将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用 1 //窗体移动API 2 [DllImport("user32.dll")] 3 public static extern bool ReleaseCapture(); 4 [DllImport("user32.dll")] 5 public static extern bool SendMessag

js清空web用户控件的值

假设你的用户控件里面有: <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem Text="111" Value="111"></asp:ListItem> </asp:DropDownList> 然后你在aspx页面中注册这个控件: <%@ Register Src="~/WebUs

用户控件(二)--常见4 种路径问题解决:

二.路径:1.问题: 添加到用户控件中的图片以及超链接 都会有固定的路径,当将用户控件用到其他页面中后,对应的页面路径需要发生变化,否则无法正常作用显示:解决: 在添加到用户控件中的 HTML 标记或者标准控件中添加:runat= server id=“id名”:这样服务端会根据使用情况自动更正图片或者超链接路径:注意: 超链接可以直接使用标准控件:Hyperlink 它里面直接带 runat=server: 2.问题?样式表中值的路径:(例)background-image:url(路径) 解