2016-10-19 3 views
1

私はAndroid App開発でこれが新しく、これを愛しています。アンドロイドの別のXMLからXMLを呼び出すことをお勧めしますか?

XMLを別のXMLから呼び出すことをお勧めしますか?これは、アプリケーションの実行時間を節約することを意味しますか?

XML 1(activity_main):

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/fragment" 
android:name="com.loginfbk.MainFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:layout="@layout/fragment_main" /> 

XML 2(fragment_main):

+0

状況によって異なります。大画面または複数のセクションがあり、複数のレイアウトを作成できるとします。それ以外の必要はありません。 –

+0

'tools:... 'ネームスペースはIDE内では実際のデバイスでは動作しません。そのコードは本当に機能しますか? –

+0

」タグを使ってレイアウトを再利用することができます – Gattsu

答えて

1

XMLを別のXMLから呼び出すことをお勧めしますか?

一般的には、あなたの場合はYESです。

一般的に、再利用可能なレイアウトのほとんどすべてを再利用し、共通部分を抽出するためにコードリファクタリングを行う場合は問題ありません。それは後で起こる問題です。後であなたは少しでも何かを加えるためにあなたの心を変えるか、またはあなたのクライアントは素晴らしいアイデアを持っています。あなたはそれを変更し、他の場所でコードを壊さないように祈っています。

また、一部のIDEでは、含まれている部分を表示することができますが、そうではありません。

場合によっては、のビューを動的ににする必要があります。 Ex。 5行に "フォーム"と "テキスト入力"を入れ、 "ボタン"ホルダーの後にユーザーが何かを追加/削除すると、おそらくテキストエリアが追加されます。

上記の場合を除いて、私はコンポーネントを再利用しますが、同じように見えるコンポーネントを使用する場合は、コンポーネントを再利用します。 "ライセンスを表示する"ボタンのように、または実際にはコードを3〜5倍に複製する必要があるため、ドイツの企業では "Imprint"の場合は完全なxmlを書きますプロジェクトには、他のレイアウトに影響を与えずに、特にレイアウトに1つ以上のコントローラー+ 1〜2のラッパーがある場合、即座に何が表示され、即座に変更できるかがわかります。

2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center" 
android:orientation="vertical" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin"> 

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/messenger_button_white_bg_round"/> 


</LinearLayout> 

はい。ビューを再利用したいことがあります。したがって、XMLの行を複数回複製するのではなく、xmlビューを再利用するのが最善の方法です。そのため、アンドロイドスキーマにincludeというタグがあります。我々の場合には

<include layout="@layout/reusable_view" /> 

reusable_view.xmlは、他のビューに注入される任意の定義されたビューを含めることができます。

関連する問題