ソーシャルメディア フラグメントを使用してAndroid Appをプログラミングする方法 - ダミー

フラグメントを使用してAndroid Appをプログラミングする方法 - ダミー

ビデオ: エクストリームフラグメントUIプログラミング 2025

ビデオ: エクストリームフラグメントUIプログラミング 2025
Anonim

ここで使用されるAndroidアプリケーションの例のユーザーインターフェースには、3つのパネルがあります - 項目のリスト、リスト内で選択された項目を説明する詳細パネル、詳細な詳細パネルなどが含まれています。小さなスマートフォン画面では、それぞれのパネルが別々のアクティビティである可能性があります。しかし、風景モードのタブレット画面には複数のパネルのためのスペースがあります。

下の画像は、3つのパネルのうちの2つのアプリを示しています。左側のパネルにAndroid SDKコンポーネントのリストが表示されます。右側のパネルには、左側のリストで選択されたコンポーネントの説明が表示されます。この説明は、多くのユーザーインターフェイスの一部です。

<! - 1 - >

1つのアクティビティに2つのフラグメントが添付されています。

ディスプレイを作成するには、1つのアクティビティを作成します。このアクティビティには2つのフラグメントがあります。左側にフラグメントが、右側にフラグメントがあります。左パネルには、アプリケーションの実行中に同じフラグメントが表示されるため、そのフラグメントをアクティビティのレイアウトファイルに宣言できます。右パネルには一度に1つのフラグメントが表示されますが、アプリケーションの実行中にフラグメントが変更されます。右のパネルにフレームレイアウトを宣言します。

<!上記のコードでは、アンドロイド:layout_は、スクリーンを2つの半分に分割します。つまり、フラグメント要素の半分とFrameLayout要素の半分です。これらの属性を使用する戦略は、各要素に最小のゼロピクセルを割り当てることから始めることです。もちろん、ゼロピクセルは全く幅を持たないことを意味します(これは不可視と同じです)。レイアウトの2つの半分を不可視にしないようにするには、2つの半分に等しいnon-zero layout_weight値を割り当てます。重み値がゼロでない場合、各半分が展開されてレイアウト内の空き領域が満たされます。

<! - 3 - >

フラグメントの完全修飾クラス名(com。allmycode。frag。ComponentNamesFragment)の使用は意図的です。省略形の名前(たとえば、ComponentNamesFragment)は、マスタードを切断しません。

あなたが不思議に思うような場合、Androidの組み込みディテールElementBackgroundは、右半分(ユーザーが選択したアイテムに関する詳細を表示するもの)のようなものを一様に見せます。

アプリの主なアクティビティコードは印象的ではありません。

package com。オールマイコード。フラッグ;インポートアンドロイド。アプリ。アクティビティ;インポートアンドロイド。 os。バンドル;パブリッククラスAllPurposeActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState){super。 onCreate(savedInstanceState); setContentView(R。レイアウト。 main);}}

以下のコードには、ComponentNamesFragmentクラスが含まれています。最初の例のレイアウトのおかげで、Androidはデバイスの画面の左側にComponentNamesFragmentを作成します。

package com。オールマイコード。フラッグ;インポートアンドロイド。アプリ。 FragmentManager;インポートアンドロイド。アプリ。 FragmentTransaction;インポートアンドロイド。アプリ。 ListFragment;インポートアンドロイド。 os。バンドル;インポートアンドロイド。ビュー。見る;インポートアンドロイド。ウィジェット。 ArrayAdapter;インポートアンドロイド。ウィジェット。リストビュー;パブリッククラスComponentNamesFragment extends ListFragment {final static String [] COMPONENTS = {"Activity"、 "Service"、 "BroadcastReceiver"、 "ContentProvider"}; @Override public void onActivityCreated(Bundle savedInstanceState){super。 onActivityCreated(savedInstanceState); @Override public void onListItemClick(ListView l、View v、int index、long id){//インデックス付きフラグメントを作成するDocsFragment docsFragment =新しいDocsFragment(); Bundle args = Helper。 getBundleWithIndex(index); docsFragment。 setArguments(args); //バックスタックをクリアするFragmentManager fragmentManager = getFragmentManager(); int backStackEntryCount = fragmentManagerです。 getBackStackEntryCount(); for(int i = 0; i

上記のコードのクラスは、AndroidのListFragmentクラスを拡張しています。 ListFragmentは、リストを表示するフラグメントです。フラグメントのライフサイクルの早い段階で、上の例のコードはフラグメントのリストアアダプタ(より具体的にはArrayAdapter)を設定します。だから早い段階で「早い段階で」ですか?

ArrayAdapterコンストラクタの最初のパラメータはコンテキストです。ちょっと待って!アクティビティとは異なり、フラグメントはコンテキストではありません。したがって、ArrayAdapterコンストラクタの最初のパラメータにキーワードthisを使用することはできません。幸い、フラグメントにはgetActivityメソッドがあります。 getActivityの呼び出しは、フラグメントが添付されているアクティビティを取得します。したがって、ArrayAdapterコンストラクタの最初のパラメータでは、getActivityを呼び出すことができます。もちろん、フラグメントが既存のアクティビティにアタッチされるまで、getActivityを呼び出すことはできません。そのため、フラグメントのonActivityCreatedメソッドは上でオーバーライドされています。 AndroidはフラグメントをアタッチしてアクティビティのonCreateメソッドを呼び出した後にonActivityCreatedを呼び出します。だからすべてが計画どおりに機能する。

アンドロイド。アプリ。アクティビティクラスの祖父母クラスはアンドロイドです。コンテンツ。コンテキスト。しかし、アンドロイド。アプリ。フラグメントクラスの親クラスは普通のjavaです。ラング。オブジェクト。したがって、アクティビティのコードでは、キーワードthisはコンテキストを参照します。しかし、フラグメントのコードでは、キーワードthisはコンテキストを参照しません。

上記の例では、ArrayAdapterのコンストラクターに3つのパラメーターがあります。

最初のパラメータはcontextです。これは、コンストラクタをonActivityCreatedメソッドの中に置くことを強制する厄介なパラメータです。

2番目のパラメータはsimple_list_item_1です。これは標準Androidレイアウトです。

simple_list_item_1レイアウトは、画像の左側に表示される外観を作成します。 Androidには、これらの標準レイアウトがたくさんあります。利用可能なレイアウトの概要については、Androidのデベロッパーサイトをご覧ください。

3番目のパラメータは、リストに表示されるアイテムの集合です。

この例では、これらの項目は、同じ例で宣言されているCOMPONENTS配列からのものです。

ListActivityと同様に、ListFragmentにはonListItemClickメソッドがあります。 DocsFragment、FragmentTransaction、およびFragmentManagerを使用して、クリックに反応することができます。

DocsFragmentは、上の画像の右側を表します。

フラグメント取引とは、あなたがフラグメントで行うことの束です。たとえば、あるフラグメントを別のフラグメントに置き換える設定は、トランザクションです。

フラグメントマネージャーは、その名前が示唆するものを実行します。断片の到着と出発を管理します。

フラグメントを使用してAndroid Appをプログラミングする方法 - ダミー

エディタの選択

JQueryノードの共通メソッド - ダミー

JQueryノードの共通メソッド - ダミー

JQueryライブラリは、DOMオブジェクトを強力なjQueryノードに変換します。次の表は、jQueryノードのより一般的に使用されるメソッドのいくつかを示しています。メソッド説明addClass()、removeClass()、toggleClass()CSSクラスをjQueryノードに適用または削除します。 css( "attribute"、 "value")単一のCSSルールをjQueryノードに適用します。 Css(JSONObject)JSONに適用されます。

JavaScriptを使用したハイパーリンクの作成、Webページのロードなど - ダミー

JavaScriptを使用したハイパーリンクの作成、Webページのロードなど - ダミー

JavaScriptは、あらゆる種類の楽しい要素やインタラクティブな要素をWebページに組み込むのに役立ちます。次の表は、JavaScriptでできるようにしたいタスクの種類を示す方法を示しています。 To ...

CSSプロパティ名をJavaScript-ダミー

CSSプロパティ名をJavaScript-ダミー

に変換すると、CSSプロパティ名をJavaScriptに変換できます。ただし、これを行う予定がある場合は、覚えておくべきことがいくつかあります。 JavaScriptでスタイルを変更する場合、いくつかの簡単なルールがあります。CSSプロパティが1つの単語(高さなど)である場合、そのプロパティはそのままです。 CSSプロパティがもっと...>

エディタの選択

Word 2016で参考文献をコンパイルする方法 - ダミー

Word 2016で参考文献をコンパイルする方法 - ダミー

単語2016の参考文献機能は、 :参考文献の引用を入力する方法の問題を解決します。

Word 2013でテンプレートを作成および変更する方法 - ダミー

Word 2013でテンプレートを作成および変更する方法 - ダミー

それは参照してください。テンプレートは、余白の設定や標準段落スタイルの定義などの基本を提供します。テンプレートはまた、スタイルのリストを提供してもよい。さらに、テキスト、グラフィックス、テキストボックス、ハイパーリンクなどのサンプルコンテンツを提供するテンプレートもあります。

Word 2016で既存の書式付きテキストからスタイルを作成する方法 - ダミー

Word 2016で既存の書式付きテキストからスタイルを作成する方法 - ダミー

Word 2016のスタイルで、[書式設定から新規スタイルを作成]ダイアログボックスを表示します。退屈な名前を持つ以外に、書式設定から新しいスタイルを作成ダイアログボックスには、すべてのWordの書式設定とオプションが1か所で一覧表示されます。 Wordの書式設定コマンドに慣れている場合は、ダイアログボックスを使用して作成できます。

エディタの選択

IOSアプリケーションでJavaスクリプトオブジェクト表記を使用する方法 - ダミー

IOSアプリケーションでJavaスクリプトオブジェクト表記を使用する方法 - ダミー

JavaScript Object Notation (JSON)はiOSアプリのデータを表現する上で事実上の標準になっています。 JSONを使用して、Web上でデータを転送したり、長期保存データを保存および取得するためのフォーマットとして使用することができます。 JSONは、人間が読める形式であり、マシンが理解しやすい形式です。 JSONのデータは1つにまとめることができます...

フラグメントを使用してAndroid Appをプログラミングする方法 - ダミー

フラグメントを使用してAndroid Appをプログラミングする方法 - ダミー

ここで使用されているAndroidアプリの例には、アイテムのリスト、リスト内で選択されたアイテムを説明する詳細パネル、詳細な詳細パネルの3つのパネルがあります。小さなスマートフォン画面では、それぞれのパネルが別々のアクティビティである可能性があります。しかし、ランドスケープモードのタブレットスクリーンには余裕があります。

Xcode Instrumentsを使用してiOSアプリケーション用のデータを収集する方法 - ダミー

Xcode Instrumentsを使用してiOSアプリケーション用のデータを収集する方法 - ダミー

Xcode iOSコードの動的なトレースとプロファイリングを可能にする開発ツールを提供し、アプリケーションコードとオペレーティングシステムの両方の共同動作を理解するのに役立ちます。それはInstrumentsと呼ばれています。このツールを使用するには、次の手順を実行します。Xcode→開発者ツールを開く→機器を選択します。インストゥルメントウィンドウに、テンプレートのコレクションが表示されます。あなたは...