Fragmen 主要用于平板电脑或手机横屏
一、创建项目创建一个新项目项目名为Fragment
二、创建第一个碎片布局
在layout下创建一个布局
右击 layout / New / Layout Resource File
取名为 left_frag 并使用 LinearLayout 布局
左碎片布局设置成按钮栏
三、创建一个类来控制布局
在 java / 右击 com.example.fragment / New / Java Class
类名取为 LeftFrag
LeftFrag 类中的代码如下
package com.example.fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; public class LeftFrag extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.left_frag,container,false); return view; } }四、创建第一个右布局
同样的方法创建一个右布局
取名为:righr_frag1
右布局设置成显示栏
righr_frag1 中的代码为:
五、创建右碎片布局对应的类
同样的方法创建一个类
取名为:RightFrag1
RightFrag1类中的代码为:
package com.example.fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; public class RightFrag1 extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.right_frag1,container,false); return view; } }六、创建第二个右布局
同样的方法创建第二个右布局
取名为:
right_frag2
right_frag2 中的代码为:
七、创建第二个右布局对应的类
同样的方法
想必你已经猜到它的名称了
没错就是:RightFrag2
RightFrag2 中的代码为:
package com.example.fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; public class RightFrag2 extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.right_frag2,container,false); return view; } }八、修改主布局
把activity_main 中的代码改为:
九、在主活动中注册功能//左布局设置为静态 //右布局设置为动态
MainActivity 中的代码为:
package com.example.fragment; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn_1 = (Button) findViewById(R.id.btn_1); btn_1.setonClickListener(new View.onClickListener() { @Override public void onClick(View view) { replaceFragment(new RightFrag1()); } }); Button btn_2 = (Button) findViewById(R.id.btn_2); btn_2.setonClickListener(new View.onClickListener() { @Override public void onClick(View view) { replaceFragment(new RightFrag2()); } }); } private void replaceFragment(Fragment fragment) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(R.id.right_layout,fragment); transaction.commit(); } }
到这里你对Fragment应该有个印象了试着自己做一个新闻页面吧
谢谢阅读,你的关注是我创作的最大动力
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)