2012-03-30 7 views
8

今は私のアプリ全体でMATCH_PARENTを使用しています。 Android 2.1ユーザーにアプリを公開することにしましたが、Android 2.2までMATCH_PARENTは導入されていませんFILL_PARENTとMATCH_PARENT

Androidバージョンが2.2以上の場合にアプリでMATCH_PARENTを使用する場合はどうすればよいですかそれが2.1の場合はFILL_PARENTを使用します(後でそれらを開くことにした場合はそれ以下)。

答えて

10

FILL_PARENTMATCH_PARENTは同じものですが、ユーザーのバージョンが2.2以上であれば、FILL_PARENTは自動的にMATCH_PARENTに置き換えられます。したがって、後方互換性をサポートするためにFILL_PARENTを使用する方が良いです。
Androidデベロッパーサイトにはこれについてのブログがありましたが、詳細を知りたい場合は、それを見つけることができれば幸いです。

+1

うわー、私はそれが自動的に置き換えられるのか分からなかった。私はそれはあなたがそれをすべてのコストで避ける必要がありますdepricated場合は、考えた。ありがとう! – dokgu

+0

@ dokgu _deprecated_とは、どうしてもそれを避けなければならないということですか?そのような場合は、移行パスはありません。 –

2

まあまあ同じことですが、彼らは2.2+の構文を変更しました。私はあなたが2.1またはそれ以下をサポートすることを計画しているなら常にそれが働くようにFILL_PARENTを常に使うと言うでしょう。

+0

ありがとうございました! – dokgu

2

Android 2.1以下をサポートしていても、もうfill_parentは使用しないでください。 Javaコンパイラは、FILL_PARENTまたはMATCH_PARENTなどの定数をクラスファイル内の静的にそれぞれの値に変換することがわかります。これはレイアウトXMLファイルでも発生します。

これを信じていない場合は、エミュレータで試してみてください(android:minSdkVersion="4"AndroidManifest.xmlと宣言してください)。

関連する問題