私は<merge>
および<include>
tags in AndroidXML-layouts。2つのチュートリアルを読みましたが、簡単な使用例はまだ見つかりませんでした。
誰かがそのような例を提供したり、その例を示したりできたら幸いです。
some_activity.xml:
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent" Android:layout_height="fill_parent"
Android:orientation="vertical">
// some views
<include layout="@layout/view_part"/>
// probably more views
</LinearLayout>
view_part.xml:
<merge xmlns:Android="http://schemas.Android.com/apk/res/Android">
// the views to be merged
</merge>
シンプルなAndroid XMLレイアウト<include /> HOWTOがあります。これは http://www.coboltforge.com/2012/05/tech-stuff- layout / 。それが役立つかもしれません...
例を挙げましょう:
2つのタグ<EditText>
と<ListView >
があり、複数のUIを提供しています。そのため、このようなすべてのUIに含めるために、以下に示すようにXMLファイルを作成しました。
<?xml ...>
<EditText ... />
<ListView ... />
上記のXMLはルート要素を持っていなかったため、有効なXMLではありません。そのため、XMLのためだけにルート要素が必要です。 <merge>
は、次のソリューションです。
<?xml ...>
<merge xmlns:Android="http://schemas.Android.com/apk/res/Android">
<EditText ... />
<ListView ... />
</merge>
<merge>
タグは、レベルの数を軽減して、レイアウトのレンダリングのパフォーマンスを向上させるために使用されます。タグは<include>
タグと完全に一緒に使用されます。
たとえば、ログインレイアウトがあり、アプリのスコープ内で複数のレイアウトに使用されています。タグを使用してlogin_layoutを表示しながら、レベルを使用およびエスケープできます。
また、レイアウトに関するトリックを読むことをお勧めします。 http://Android-developers.blogspot.com.tr/2009/03/Android-layout-tricks-3-optimize-by.html
login_form.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Login form -->
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
<EditText
Android:id="@+id/email"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="Email..."
Android:inputType="textEmailAddress"
Android:maxLines="1"
Android:singleLine="true"
Android:visibility="visible" />
<EditText
Android:id="@+id/password"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="Password.."
Android:imeActionId="@+id/login"
Android:imeOptions="actionUnspecified"
Android:inputType="textPassword"
Android:maxLines="1"
Android:singleLine="true"
Android:text="1337"
Android:visibility="visible" />
<Button
Android:id="@+id/sign_in_button"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:layout_marginTop="16sp"
Android:paddingLeft="32sp"
Android:paddingRight="32sp"
Android:text="Login"
Android:visibility="visible" />
</LinearLayout>
example_layout.xml(login_form.xmlを含めたいレイアウト)
<merge xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools" >
<include layout="@layout/login_form" />
</merge>
レベル階層を見ることができます
idはコードを貼り付けません。そうしないと、相対レイアウトパラメーターが機能します。いくつかの異なる処理を行います