天天看点

framelayout,android分页利用framelayout分页

利用framelayout分页

实现类似qq主界面的分页面式管理(该控件需要引用android.support.v4.jar),主界面Mainactivity.xml

<?xml version="1.0" encoding="utf-8"?>
      <FrameLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" 
            android:clipChildren="false"
            android:clipToPadding="false"/>
           

MainActivity.java

//该类需继承FragmentActivity
//改变framelayout所显示界面
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
fragment1 fragment = new fragment1();//fragment1为你新建的要添加到framelayout中的.xml文件所关联的.java类
transaction.replace(R.id.fragment_container,fragment);//替换framelayout当前所显示的fragment没有就直接覆盖上去
//另一种添加fragment方法为transaction.add(R.id.fragment_container, fragment);这种为直接覆盖上去不建议用
transaction.commit();

           

framelayout添加fragment的方法就相当于让一个布局加载其他页面的思路,其他页面在这个布局中显示

fragment1.java//它关联一个.xml布局文件
public class fragment1 extends Fragment {
private ImageButton b_robot;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = getActivity().getLayoutInflater().inflate(R.layout.activity_main2, null);//view关联视图
    b_robot = (ImageButton) view.findViewById(R.id.imageButton8);//关联视图中的空间
            //点击事件及页面跳转
    b_robot.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            MainActivity.setButtonFocusChanged(b_robot);
            Intent intent = new Intent(getActivity(), CarActivity.class);
            startActivity(intent);

        }
    });
    return view;//最后需要返回所关联的视图
}

}