zoukankan      html  css  js  c++  java
  • Fragment的创建

    ***Fragment的使用
    *1.首先要新建一个平板模拟器;
    其次若编写代码时遇到Android Call requires API level 11 (current min is 8)的提示错误的解决方法:
    右键点击项目->Android tools ->Clear Link Markers.即可临时解决,但是如果调试用的模拟器是低版本的,则在调试完后还有这个错误。
    如果把manifest文件中的user-sdk的android:minSdkVersion改为报错的那个高版本就没事。比如下面:

    <uses-sdk
        android:minSdkVersion="11" //这个之前是8
        android:targetSdkVersion="17"/>
    

    *2.静态Fragment的创建

    首先在left_fragment.xml中添加一个人Button按钮,right_fragment.xml中添加一个textView;
    其次分别创建对应的.java文件,让LeftFragment和RightFragment都继承Fragment,并重写onCreatView()方法。如:
    
    public class LeftFragment extends Fragment {
    	@Override
    	public View onCreateView(LayoutInflater inflater, ViewGroup container,
    			Bundle savedInstanceState) {
    		View view = inflater.inflate(R.layout.left_fragment, container, false);//将left_fragment布局加载进来
    		return view;
    	}
    }
    
    最后在activity_main.xml中:
    
    <fragment 
        android:id="@+id/left_fragment"
        android:name="com.example.fragmenttest.LeftFragment"//通过这个属性来显示的指明要添加的碎片类名,注意一定要将类的包名也加上
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"/>
    
    <fragment 
        android:id="@+id/right_fragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:name="com.example.fragmenttest.RightFragment"
        android:layout_weight="1"/>
    

    *3.动态Fragment的创建

    首先在left_fragment.xml中添加一个人Button按钮,right_fragment.xml中添加一个textView;
    其次分别创建对应的.java文件,让LeftFragment和RightFragment都继承Fragment,并重写onCreatView()方法。如:
    
    public class LeftFragment extends Fragment {
    	@Override
    	public View onCreateView(LayoutInflater inflater, ViewGroup container,
    			Bundle savedInstanceState) {
    		return inflater.inflate(R.layout.left_fragment, null);
    	}
    }
    
    然后在activity_main.xml中添加两个容器:
    
    <FrameLayout 
        android:id="@+id/left_fragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#f00">
    </FrameLayout>
    
    <FrameLayout 
        android:id="@+id/right_fragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#0f0">
    </FrameLayout>
    
    最后在MainActivity.java中:
    
    public class MainActivity extends Activity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		//FragmentManager:Activity内部用来与Fragment进行交互的接口
    		FragmentManager fragmentmanager = getFragmentManager();
    		//开启一个事务
    		FragmentTransaction transaction = fragmentmanager.beginTransaction();
    		
    		LeftFragment leftfragment = new LeftFragment();
    		RightFragment rightfragment = new RightFragment();
    		//将左侧的那个leftfragment添加到R.id.left_fragment中
    		transaction.add(R.id.left_fragment, leftfragment);
    		transaction.add(R.id.right_fragment, rightfragment);
    		
    		transaction.commit();//提交事务
    	}
    }
    

  • 相关阅读:
    双色球相关
    儿童教学相关网站
    [转]javascript实现限制上传文件的大​​小
    使用存储过程 修改符合条件的数据表的相关字段 的数据类型
    [转]bat批处理实现TXT文本合并
    [转]在SQL中用正则表达式替换html标签
    [转]T4模版引擎之生成数据库实体类
    [转]C#中图片.BYTE[]和base64string的转换
    [书目20131114]微软技术丛书•快速软件开发(珍藏版) Rapid Development Taming Wild Software Schedules By Steve McConnell
    人体穴位
  • 原文地址:https://www.cnblogs.com/SanguineBoy/p/9789451.html
Copyright © 2011-2022 走看看