match_parentを導入し、fill_parentを廃止する理由は、どちらも同じことを意味するためです。この変更は、下位互換性の妨げにはなりませんか?
2 に答える
fill_parentの代わりにmatch_parentを使用しても、古いバージョンで生成されたAPKを実行できなくすることはありません。これは、生成されたAPKで、match_parentとfill_parentの出現が、この場合は同じ(両方とも-1)である対応する定数値に置き換えられるためです。 APKは古いバージョンのAndroidプラットフォームでも実行できます。
ただし、コードのコンパイル中に古いバージョン(バージョン7以下)に切り替えると、コンパイルエラーが発生します(バージョン7以下ではmatch_parentが定義されていないため)。
Android Doc は次のように述べています。
FILL_PARENT (API レベル 8 以降では MATCH_PARENT に名前が変更されました)。これは、ビューがその親と同じ大きさになることを意味します (パディングを除く)。
fill_parent: ビューはその親と同じ大きさにする必要があります (パディングを除く)。この定数は、API レベル 8 以降では推奨されておらず、match_parent に置き換えられています。
したがって、値が両方とも-1であるため、それらは同じです。ただし、下位互換性が心配な場合は、ここにアクセスできます: platfrom バージョン
これにより、いつすべての fill_parent を match_parent に変更する必要があるかについて、より良いアイデアが得られます。現在、50% のユーザーが API レベル 8 以上を使用しているようです。したがって、それを変更するのはあなた次第です。