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

Android UI篇 Fragment

[リンクをコピー]
发表于 2013-6-17 16:12:20 | 显示全部楼层 |阅读模式
webhostingpad
■前書
FragmentはAndroid 3.0(APIレベル11)から導入されたコンポーネントです。
Fragment は Support Package でサポートされているので Android 1.6 (APIレベル4)からも
使用することができます。
Fragment についての概要、またSupport Packageを使ってFragmentの使い方について説明します。
■Fragmentとは?
FragmentはActivityを機能・振る舞いごとに分割するためのUIモジュールです。
Fragmentを用いることでActivityのUIを簡単に分割して構成することができます。
動的な追加や削除が容易にでき、また複数の画面に同一Fragmentを配置したりできます。
Fragmentがライフサイクルを持っています。
画面を構成する部位ごとをFragmentとしてモジュール化すれば、画面サイズに応じた
レイアウトがしやすくなります。例えば「タブレットでは一画面、スマホ (Handset)
では二画面にする」というレイアウトにしたい場合、レイアウトを Fragment に分割
しておけばレイアウトをゴリゴリいじる必要もなく実装できますし、
またさらに他の画面に使い回すこともできます。多画面に対応するアプリを作りたい場合
Fragment はもはや必須です。
■Fragmentは、Activityで使います
fragment_main.xml
  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:background="#eeeeee"
  6. android:gravity="center"
  7. android:orientation="vertical" >

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

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

  17. </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,
  10. Bundle savedInstanceState) {
  11. return inflater.inflate(R.layout.fragment_main, container, false);
  12. }
  13. }
コードコピー
main.xml
  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. <fragment
  6. xmlns:android="http://schemas.android.com/apk/res/android"
  7. android:id="@+id/fragment"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"
  10. class="jp.classmethod.android.sample.supportpackage.fragment.MainFragment" />

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

  2. import android.os.Bundle;
  3. import android.support.v4.app.FragmentActivity;

  4. public class MainActivity extends FragmentActivity {
  5. @Override
  6. protected void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.main);
  9. }
  10. }
コードコピー
返信

道具使用 レポート

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

フォーラム点数規則

フリーランス

モバイル版|APK School Net  

GMT+8, 2017-12-12 06:51 , Processed in 0.115364 second(s), 24 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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