Android Fragment —— 1、基础实例

一、Fragment的产生与介绍
Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了。更为重要的是,你可以动态的添加、替换和移除某个Fragment。

二、Fragment实例
1、创建Fragment

public class TestStripsFragment extends Fragment implements View.OnClickListener{

    private Button button;

    //重点在此,Fragment通过onCreateView来引用布局文件,其与activity用法一致
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_content, container, false);
        button = (Button) view.findViewById(R.id.bt);
        button.setOnClickListener(this);

        return view;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.bt:
                Toast.makeText(getActivity(),"wzzoooooooooo",Toast.LENGTH_SHORT).show();
            break;
        }
    }
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

    <Button
        android:id="@+id/bt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="click"/>

</RelativeLayout>

2、在MainActivity中引用Fragment,此例中是直接在布局文件中引用的

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="wzz.a2017wzzteststrips.MainActivity">

    //重点,在此将Fragment引入MainActivity
    <fragment
        android:id="@+id/id_fragment_content"
        android:name="wzz.a2017wzzteststrips.TestStripsFragment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</RelativeLayout>

MainActivity代码:

public class MainActivity extends Activity {

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

到此为止,一个简单的Android Fragment应用就创建完成了,之后相关的逻辑操作都放在Fragment类中进行就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,256评论 25 709
  • 《Android Fragment完全解析,关于碎片你所需知道的一切》 我们都知道,Android上的界面展示都是...
    cxm11阅读 6,598评论 2 19
  • 11-1 十一月开始了,正好今天星期天,带着老弟去我们这里的最出名的山,亚公顶,是我们镇里挺出名的山。 早上秋...
    HighJane阅读 2,118评论 0 1
  • 最狠的相遇,是久别重逢。 最好的经历,是曾经或此刻。 我从你的全世界路过,你又路过谁的世界。我们既是自己世界的主角...
    小丑的故事阅读 3,311评论 0 1
  • 虞美人---悯农 疏桐落叶万物秋,磨台不眠休,白雪冰挂绚烂景,漫天风雪未曾半天晴。 观的他人欢笑去,戚戚泪莹莹,残...
    MarsmanJQZ阅读 1,345评论 0 1