選択 モバイル版に入る | PC版を継続
Android開発に助かるApkSchool版主募集中DISCUZ!X3.1 Japanese Version提供
表示: 5445|返信: 0

Android UI篇 Fragment(動的に追加方法)

[リンクをコピー]
发表于 2013-6-17 16:31:20 | 显示全部楼层 |阅读模式
webhostingpad
この記事は最後 niuxs より 2013-6-22 17:26 編集された

fragment_main.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:background="#eeeeee"
  5. android:gravity="center"
  6. android:orientation="vertical" >

  7. <TextView
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:layout_marginBottom="10dp"
  11. android:text="SupportFragment!" />

  12. <ImageView
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:src="@drawable/ic_launcher" />

  16. </LinearLayout>
コードコピー
MainFragment.java
  1. package net.apkschool.edu;

  2. import android.os.Bundle;
  3. import android.support.v4.app.Fragment;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. public class MainFragment extends Fragment {
  8. @Override
  9. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  10. return inflater.inflate(R.layout.fragment_main, container, false);
  11. }
  12. }
コードコピー
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical" >

  6. <LinearLayout
  7. android:id="@+id/layout_a"
  8. android:layout_width="match_parent"
  9. android:layout_height="0dp"
  10. android:layout_weight="1"
  11. android:background="#ff0000"
  12. android:orientation="vertical" />

  13. <LinearLayout
  14. android:id="@+id/layout_b"
  15. android:layout_width="match_parent"
  16. android:layout_height="0dp"
  17. android:layout_weight="1"
  18. android:background="#00ff00"
  19. android:orientation="vertical" />

  20. </LinearLayout>
コードコピー
MainActivity.java
  1. package net.apkschool.edu;

  2. import android.os.Bundle;
  3. import android.support.v4.app.FragmentActivity;
  4. import android.support.v4.app.FragmentManager;
  5. import android.support.v4.app.FragmentTransaction;

  6. public class MainActivity extends FragmentActivity {
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);

  11. // Fragmentを管理する FragmentManagerクラスを呼び出します。
  12. // FragmentActivityのgetSupportFragmentManager()で呼び出します。
  13. // このとき android.support.v4.app.FragmentManager クラスを使うようにしないと
  14. // Android 1.6 では動作しないことを注意
  15. FragmentManager manager = getSupportFragmentManager();

  16. // 次に FragmentManagerのbeginTransaction()で FragmentTransactionクラスを呼び出します。
  17. // FragmentTransaction は Fragmentの追加や削除などを1つの処理としてまとめるためのトランザクションクラスです。
  18. FragmentTransaction tx = manager.beginTransaction();

  19. //FragmentTransactionのadd()を使って Fragment を追加します。
  20. //追加先の View の ID を指定すると、その対象の View に Fragment が追加されます。
  21. //また Fragmentにはタグを付けることができます。add()したときに既にバックスタックに
  22. //同じタグの Fragment が存在する場合、Fragment は新規作成されず、
  23. //既にインスタンス化してある Fragment が再表示されます。最後に commit() すると操作内容が反映されます。
  24. tx.add(R.id.layout_a, new MainFragment(), "fragment_a");
  25. tx.add(R.id.layout_b, new MainFragment(), "fragment_b");
  26. tx.commit();
  27. }
  28. }
コードコピー

この記事に更なる添付があります

貴方は ログイン 後、ダウンロード・閲覧が可能となる,アカウントない?直ぐ登録

x
返信

道具使用 レポート

返信は先にログインが必要 ログイン | 直ぐ登録

フォーラム点数規則

フリーランス

モバイル版|APK School Net  

GMT+8, 2017-12-12 06:33 , Processed in 0.113835 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速返信 トップへ リストへ