Android开发之Fragment实战应用

来源:互联网 发布:上瘾网络剧海外粉丝 编辑:程序博客网 时间:2024/06/05 00:52

                   在日常的Android开发过程中,我们往往要根据实际需求去对仅有的资源进行分配,而屏幕资源是一切资源分配的根本,如果页面没有划分好,那资源就没法快速利用,也就没起到系统应有的价值。所以我们在进行页面划分的时候就要求将可用资源发挥到极致才行,在Android中一屏就是一个Activity,我们要设计的对象也就是Activity,以往我们可能将所有的功能啊,控件啊,都直接添加到Activity中,这样不仅页面不灵活,而且代码也会很长很容余,对开发,对用户都很不友好,但是Google给出了很好的解决方案,Fragment,Fragment是什么呢?做过Web应用的人应该对Div应该很熟悉,Fragment就像DIV一样,但是更强大,他的生命周期也可以进行控制,而且你可以动态的对Fragment进行添加,删除和修改。

具体使用步骤如下:

1,在Activity中的XMl中添加相应的Fragment布局方式。

2,在Activity中动态的添加Fragment对象。

具体代码如下.

package com.easy.aaa;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;public class FragActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_frag);if (savedInstanceState == null) {this.getSupportFragmentManager().beginTransaction().add(R.id.frag_list, new FragementList()).commit();this.getSupportFragmentManager().beginTransaction().add(R.id.frag_detail, new FragementList()).commit();}}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/main_contion"    android:orientation="vertical" >    <FrameLayout        android:id="@+id/frag_list"        android:name="com.easy.aaa.FragementList"        android:layout_width="fill_parent"        android:layout_height="0dp"        android:layout_weight="2" >    </FrameLayout>    <FrameLayout        android:id="@+id/frag_detail"        android:name="com.easy.aaa.FragementDetails"        android:layout_width="fill_parent"        android:layout_height="0dp"        android:layout_weight="1" >    </FrameLayout></LinearLayout>
package com.easy.aaa;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragementList extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {return inflater.inflate(R.layout.aa, container, false);}}
<?xml version="1.0" encoding="utf-8"?><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:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <TextView        android:id="@+id/textView2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <TextView        android:id="@+id/textView3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" /></LinearLayout>
package com.easy.aaa;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragementDetails extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {return inflater.inflate(R.layout.bb, container, false);}}
<?xml version="1.0" encoding="utf-8"?><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:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="TextView" />    <TextView        android:id="@+id/textView2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="TextView" />    <TextView        android:id="@+id/textView3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="TextView" /></LinearLayout>








0 0
原创粉丝点击