zoukankan      html  css  js  c++  java
  • Androi开发 ---Fragment片段布局案例

    效果图:

     

    1、MainActivity.java

    package com.example.android_activity;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
        //片段布局
        public void test_3(View view){
            Intent intent=new Intent(this,WeixinActivity.class);
            startActivity(intent);
        }
    }

    2、WeixinActivity.java

    package com.example.android_activity;
    
    import android.app.Activity;
    import android.app.FragmentManager;
    import android.app.FragmentTransaction;
    import android.os.Bundle;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.RadioGroup;
    
    public class WeixinActivity extends Activity {
    
        //片段管理器
        private FragmentManager fm;
        //片段事务对象
        private FragmentTransaction trans;
    
        //获取单选按钮组
        private RadioGroup rg;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.activity_weixin);
            rg=(RadioGroup)findViewById(R.id.radgroup);
    
            //1:获取片段管理器对象
            fm=getFragmentManager();
            //2:获取片段事务对象
            trans=fm.beginTransaction();
            trans.add(R.id.mainFrame,new WeixinFragment());
            trans.commit();
    
            //添加选择改变事件
            rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup radioGroup, int i) {
                    switch (i){
                        case R.id.rad_1:
                            trans=fm.beginTransaction();
                            trans.replace(R.id.mainFrame,new WeixinFragment());
                            trans.addToBackStack("back");
                            trans.commit();
                            break;
                        case R.id.rad_2:
                            trans=fm.beginTransaction();
                            trans.replace(R.id.mainFrame,new PhoneNoteFragment());
                            trans.addToBackStack("back");
                            trans.commit();
                            break;
                        case R.id.rad_3:
                            trans=fm.beginTransaction();
                            trans.replace(R.id.mainFrame,new FindFragment());
                            trans.addToBackStack("back");
                            trans.commit();
                            break;
                    }
                }
            });
        }
    
    }

    3、WeixinFragment.java

    package com.example.android_activity;
    import android.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.Toast;
    
    
    public class WeixinFragment extends Fragment {
    
        public WeixinFragment() {
        }
    
        private Button btn;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            //投影【将一个Layout布局xml文件生成一个View对象】
            View view=inflater.inflate(R.layout.fragment_weixin, container, false);
            btn=(Button)view.findViewById(R.id.test_btn);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Toast.makeText(getActivity(),"OK",Toast.LENGTH_LONG).show();
                }
            });
            return view;
        }
    
    }

    4、PhoneNoteFragment.java

    package com.example.android_activity;
    import android.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    
    /**
     * A simple {@link Fragment} subclass.
     */
    public class PhoneNoteFragment extends Fragment {
    
    
        public PhoneNoteFragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.fragment_phone_note, container, false);
        }
    
    }

    5、FindFragment.java

    package com.example.android_activity;
    
    import android.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    
    /**
     * A simple {@link Fragment} subclass.
     */
    public class FindFragment extends Fragment {
    
    
        public FindFragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.fragment_find, container, false);
        }
    
    }

    6、activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
    
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="FrameLayout"
            android:onClick="test_1"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="FrameLayout2"
            android:onClick="test_2"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Fragment案例"
            android:onClick="test_3"
            />
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="GridLayout布局[4.0]"
            android:onClick="test_4"
            />
    </LinearLayout>

    7、activity_weixin.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/activity_weixin"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <!--绘制内容显示容器-->
        <FrameLayout
            android:id="@+id/mainFrame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
        <LinearLayout
            android:id="@+id/weixinMenu"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <RadioGroup
                android:id="@+id/radgroup"
                android:checkedButton="1"
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <RadioButton
                    android:id="@+id/rad_1"
                    android:text="微信"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:clickable="true"
                    android:button="@null"
                    android:gravity="center"
                    android:layout_width="match_parent"
                    android:layout_weight="1"
                    android:layout_height="wrap_content" />
                <RadioButton
                    android:id="@+id/rad_2"
                    android:text="通讯录"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:clickable="true"
                    android:button="@null"
                    android:gravity="center"
                    android:layout_width="match_parent"
                    android:layout_weight="1"
                    android:layout_height="wrap_content" />
                <RadioButton
                    android:id="@+id/rad_3"
                    android:text="发现"
                    android:gravity="center"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:clickable="true"
                    android:button="@null"
                    android:layout_width="match_parent"
                    android:layout_weight="1"
                    android:layout_height="wrap_content" />
                <RadioButton
                    android:id="@+id/rad_4"
                    android:text="我"
                    android:gravity="center"
                    android:drawableTop="@mipmap/ic_launcher"
                    android:clickable="true"
                    android:button="@null"
                    android:layout_width="match_parent"
                    android:layout_weight="1"
                    android:layout_height="wrap_content" />
            </RadioGroup>
        </LinearLayout>
        <LinearLayout
            android:layout_above="@id/weixinMenu"
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:background="@android:color/darker_gray"></LinearLayout>
    </RelativeLayout>

    8、fragment_weixin.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="30sp"
            android:text="我是微信" />
        <Button
            android:id="@+id/test_btn"
            android:text="点我试试"
            android:onClick="testClick"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

    9、fragment_phone_note.xml

    <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"
        >
    
        <!-- TODO: Update blank fragment layout -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="30dp"
            android:textColor="@android:color/holo_red_dark"
            android:text="这是通讯录" />
    
    </LinearLayout>

    10、fragment_find.xml

    <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.FindFragment">
    
        <!-- TODO: Update blank fragment layout -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="30sp"
            android:textColor="@android:color/holo_green_light"
            android:text="我发现好多朋友" />
    
    </FrameLayout>
    如果您发现博客内容有什么错误,请您下方留言
  • 相关阅读:
    94. Binary Tree Inorder Traversal
    101. Symmetric Tree
    38. Count and Say
    28. Implement strStr()
    实训团队心得(1)
    探索性测试入门
    LC.278. First Bad Version
    Search in Unknown Sized Sorted Array
    LC.88. Merge Sorted Array
    LC.283.Move Zeroes
  • 原文地址:https://www.cnblogs.com/zn615/p/8145212.html
Copyright © 2011-2022 走看看