match_parent
とfill_parent
という2つのXMLプロパティについて少し混乱しています。どちらも同じようです。違いはありますか?
それらは同じものです(APIレベル8以降)。 match_parent
を使用してください。
FILL_PARENT(APIレベル8以降ではMATCH_PARENTと改名)
...
fill_parent
:ビューはその親と同じくらい大きくなければなりません(マイナスのパディング)。この定数はAPIレベル8以降では推奨されておらず、match_parent
に置き換えられています。
http://developer.Android.com/reference/Android/view/ViewGroup.LayoutParams.html
混乱を避けるため、Googleは名前を変更しました。
古い名前fill parent
の問題は、それが親のディメンションに影響を与えることを暗示しているのに対し、match parent
は結果の動作をよりよく説明している - 親とディメンションを一致させることです。
両方の定数は最後に-1
に解決されるため、アプリでも同じ動作になります。皮肉なことに、物事を明確にするためになされたこの名前の変更はそれを排除するのではなく混乱を追加したようです。
機能的に違いはありませんが、Googleは名前をfill_parentからmatch_parentに変更しました。APIレベル8(Android 2.2)からです。互換性のため、FILL_PARENTはまだ利用可能です。
LayoutParams.FILL_PARENT
とLayoutParams.MATCH_PARENT
は両方とも値-1を持ちます。 GoogleがFill ParentからMatch Parent :)に変更しようとした理由がわからない
ほとんどのphones are >= Android 2.2
..では、将来の互換性のためにMatch Parentを使用するべきです。
互換性のために、fill_parentに固執すること、すなわち、API 8より下のデバイスをサポートするときには、より良いです。ただし、アプリがAPI 8以降をターゲットにしている場合は、代わりにmatch_parentを使用してください。
match_parent は fill_parent の代わりに使用され、親の範囲内で使用するように設定されます。 match_parent を使用し、 fill_parent を忘れてください。私は fill_parent を完全に捨てて、いつものようにすべてが完璧です。
ここ をもっとチェックしてください。
FILL_PARENT
はAPIレベル8およびMATCH_PARENT
useより高いレベルのAPIでは推奨されません。
どちらも同様の機能を持っていますが、fill_parentはAPIレベル8まで使用され、match_parentはAPIレベル8以降のレベルの後に使用されるという違いがあります。
実際の行動に近い名前を付けるだけです 。 "fill_parent"
は、名前が示すように残りのスペースを埋めません(そのため、weight属性を使用します)。代わりに、レイアウトの親と同じ大きさのスペースを占有します。それが新しい名前が"match_parent"
である理由です
width
プロパティでレイアウトheight
とXML
をmatch_parent
として設定すると、それは親ビューが持つ全領域を占めることになります。つまり、親と同じくらいの大きさになります。
<LinearLayout
Android:layout_width="300dp"
Android:layout_height="300dp"
Android:background="#f9b0b0">
<TextView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#b0f9dc"/>
</LinearLayout>
ウサギの親は赤、子供は緑です。子供が全地域を占めています。それはwidth
とheight
がmatch_parent
だからです。
注:親にパディングが適用されている場合、そのスペースは含まれません。
<LinearLayout
Android:layout_width="300dp"
Android:layout_height="300dp"
Android:background="#f9b0b0"
Android:paddingTop="20dp"
Android:paddingBottom="10dp">
<TextView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#b0f9dc"/>
</LinearLayout>
TextViewの高さ= 300dp(親の高さ) - (20(paddingTop)+10(paddingBottom))=(300 - 30)dp = 270 dp
fill_parent
はmatch_parent
の以前の名前です
APIレベル8以降では、fill_parent
をmatch_parent
に変更し、fill_parent
は現在推奨されていません。
だからfill_parent
とmatch_parent
は同じです。
ビューは、その親と同じ大きさにする必要があります(マイナスパディング)。この定数はAPIレベル8から廃止予定となり、{@code match_parent}に置き換えられました。
match_parent
とfill_parent
は同じプロパティで、全画面で水平または垂直にビューの幅または高さを定義するために使用されます。
これらのプロパティは、AndroidのXMLファイルでこのように使用されています。
Android:layout_width="match_parent"
Android:layout_height="fill_parent"
または
Android:layout_width="fill_parent"
Android:layout_height="match_parent"
fill_parent
は以前のバージョンで使用されていましたが、現在は非推奨になり、match_parent
に置き換えられています。お役に立てば幸いです。
私にfill parentとmatch parentを満たす)だけで同じ機能を実行します。
fill parent:API 8より前に使用されていました
match parentこれはAPI 8+から使用されました。Bothの機能パディングの横の親ビューを埋めます
fill_parent:ビューはその親と同じ大きさであるべきです。
現在、このコンテンツfill_parentは非推奨となり、match_parentに置き換えられています。
match_parent。これは、ビューをその親と同じくらい大きくしたいことを意味します(マイナスのパディング)。
wrap_content、つまりビューはそのコンテンツを囲むのに十分な大きさにしたいということです(さらにパディングを加えます)。
わかりやすくするために、この概念を示すサンプルレイアウトを作成しました。効果を確認するために、各textViewコンテンツの境界線を追加しました。
"Match parent" textViewコンテンツでは、レイアウトの幅が親の全長から広がっているのがわかります。
しかし、私たちは "Wrap Content" textViewの内容で見ることができます、それはその内容(Wrap Content)の長さでラップされたレイアウトの幅です。
FILL_PARENT
はAPIレベル8以降では推奨されておらず、上位バージョンではMATCH_PARENT
と名前が変更されています。
両方とも同じFILL_PARENT
とMATCH_PARENT
であり、FILL_PARENT
はAPIレベル8より低いバージョンで使用され、MATCH_PATENTは8より高いAPIレベルで使用されます。
FILL_PARENT
(APIレベル8以降ではMATCH_PARENT
と名前が変更されました)。これは、ビューをその親と同じ大きさにしたい(マイナスの埋め込み)ことを意味します。
fill_parent
:ビューはその親と同じくらい大きくなければなりません(マイナスのパディング)。この定数はAPIレベル8以降では推奨されておらず、match_parent
に置き換えられています。
詳しくは this pageをご覧ください。
FILL_PARENTは、APIレベル8以降でMATCH_PARENTに名前が変更されました。これは、ビューをその親と同じくらいの大きさにしたいことを意味します(マイナスパディング) - Google
1. match_parent
レイアウトの幅と高さをmatch_parentに設定すると、それは親ビューの全領域を占めます。つまり、親ビューと同じ大きさになります。
注 :parentにパディングが適用されている場合、そのスペースは含まれません。
デフォルトでlayout.xmlを作成すると、Android:layout_width = "match_parent"およびAndroid:layout_height = "match_parent"のデフォルトの親ビューとしてRelativeLayoutが設定されます。つまり、モバイル画面の幅と高さ全体を占めます。
また、パディングはすべての面に適用されます。
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
サブビューLinearLayoutを追加して、そのlayout_width = "match_parent"とlayout_height = "match_parent"を設定すると、グラフィカルビューは次のようになります。
match_parent_example
コード
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.code2care.Android.togglebuttonexample.MainActivity" >
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_alignParentLeft="true"
Android:layout_alignParentTop="true"
Android:layout_marginLeft="11dp"
Android:background="#FFFFEE"
Android:orientation="vertical" >
2. fill_parent:
これはmatch_parentと同じで、fill_parentはAPIレベル8で廃止予定でした。したがって、APIレベル8以上を使用している場合は、fill_parentの使用を避けなければなりません。
Match_parentの場合と同じ手順に従いますが、代わりにfill_parentをすべての場所で使用します。
Fill_parentとmatch parentの両方で動作に違いがないことがわかります。