Answers:
ඒවා එකම දෙයකි (API මට්ටම 8+ හි). භාවිතා කරන්න match_parent
.
FILL_PARENT (API මට්ටමේ 8 සහ ඊට ඉහළින් MATCH_PARENT ලෙස නම් කරන ලදි), එයින් අදහස් වන්නේ දර්ශනය එහි මවුපියන් තරම් විශාල වීමට අවශ්ය බවයි (us ණ පෑඩින්)
...
fill_parent
: දර්ශනය එහි මවුපියන් තරම් විශාල විය යුතුය (us ණ පෑඩින්). මෙම නියතය API මට්ටම 8 සිට ආරම්භ වන අතර එය ප්රතිස්ථාපනයmatch_parent
වේ.
http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
-1
. මට ඔබට ඒ ගැන හොඳ හැගීමක් දැනෙනවා, ඒ තුළ ඇති දුර්වලතාවය මට ලැබෙන්නේ නැහැ ... :-)
-1
. පැරණි වේදිකාව එකම නියතයේ නව නම ගැන නොදන්නා නිසා ඔබට දෝෂය ඇතිවිය.
ව්යාකූලත්වය වළක්වා ගැනීම සඳහා ගූගල් නම වෙනස් කළේය.
පැරණි නම සමඟ ඇති ගැටළුව නම් fill parent
, එය දෙමව්පියන්ගේ මානයන් කෙරෙහි බලපාන බව අඟවන අතර, එහි ප්රති match parent
behavior ලයක් ලෙස හැසිරීම වඩාත් හොඳින් විස්තර කරයි - මාපිය සමඟ මානය ගැලපෙන්න.
නියතයන් දෙකම -1
අවසානයේ දී නිරාකරණය වන අතර එමඟින් යෙදුමේ සමාන හැසිරීම් ඇති වේ. හාස්යයට කරුණක් නම්, කරුණු පැහැදිලි කිරීම සඳහා කරන ලද මෙම නම වෙනස් කිරීම එය තුරන් කරනවාට වඩා ව්යාකූලත්වයක් ඇති කළ බව පෙනේ.
ක්රියාකාරීව කිසිදු වෙනසක් නැත, ගූගල් විසින් API_8 සිට (ඇන්ඩ්රොයිඩ් 2.2) නම ෆිල්_පෙරන්ට් සිට මැච්_පෙරන්ට් ලෙස වෙනස් කළේය. අනුකූලතා හේතුව නිසා FILL_PARENT තවමත් පවතී.
LayoutParams.FILL_PARENT
හා LayoutParams.MATCH_PARENT
දෙකම වටිනාකමක් තිබිය -1. දෙමාපියන් පුරවන්න සිට දෙමාපියන්ට ගැලපීමට ගූගල් පෙලඹුණේ කුමක් දැයි විශ්වාස නැත :)
බොහෝමයක් phones are >= Android 2.2
.. ඔබ අනාගත ගැළපුම සඳහා මැච් මාපිය භාවිතා කළ යුතුය ... ඔවුන් පැරණි ෆිල් මාපිය නියතය අත්හිටුවන්නේ කවදාදැයි විශ්වාස නැත!
ගැළපුම සඳහා, පිරවුම්_ දෙමාපියන්ට ඇලී සිටීම වඩා හොඳය, එනම්, API 8 උපාංගවලට පහළින් සහය දක්වන විට. නමුත් ඔබගේ යෙදුම API 8 සහ ඊට ඉහළින් ඉලක්ක කරන්නේ නම්, ඒ වෙනුවට ඔබ match_parent භාවිතා කළ යුතුය.
FILL_PARENT
අතහැර දැමුවහොත් (ඉහත මැට් බෝල් සඳහන් කළ පරිදි), ඉදිරි අනුකූලතාව සඳහා ඇති එකම විකල්පය වේ MATCH_PARENT
.
FILL_PARENT
API මට්ටමේ 8 හි ඉවත් කර ඇති අතර ඉහළ මට්ටමේ API MATCH_PARENT
භාවිතා කරන්න
එහි සැබෑ ක්රියාවට සමීප නමක් ලබා දීම සඳහා . "fill_parent"
නමට අනුව ඉතිරි ඉඩ පුරවන්නේ නැත (ඒ සඳහා ඔබ බර ගුණාංගය භාවිතා කරයි). ඒ වෙනුවට, එය එහි පිරිසැලසුම් මවුපිය තරම් ඉඩ ප්රමාණයක් ගනී. අළුත් නම එයයි"match_parent"
දෙකම සමාන ක්රියාකාරීත්වයක් ඇති අතර වෙනස වන්නේ fill_parent API මට්ටම 8 දක්වා භාවිතා වන අතර match_parent API මට්ටම 8 හෝ ඊට ඉහළ මට්ටමෙන් පසුව භාවිතා කිරීමයි.
ඔබ පිරිසැලසුම සැකසූ විට width
සහ දේපල වලදී height
මෙන් , එය දෙමව්පියන්ගේ දර්ශනය ඇති සම්පූර්ණ ප්රදේශය අත්පත් කර ගනු ඇත, එනම් එය දෙමව්පියන් තරම් විශාල වනු ඇත.match_parent
XML
<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 hight = 300dp (දෙමාපිය උස) - (20 (paddingTop) +10 (paddingBottom)) = (300 - 30) dp = 270 dp
fill_parent
යනු පෙර නමයි match_parent
ඒපීඅයි මට්ටම 8 සහ ඊට වැඩි fill_parent
ලෙස නම් කර ඇති match_parent
අතර fill_parent
දැන් එය ඉවත් කර ඇත.
ඉතින් එක fill_parent
හා match_parent
සමානයි.
දර්ශනය එහි මවුපියන් තරම් විශාල විය යුතුය (us ණ පෑඩින්). මෙම නියතය API මට්ටම 8 සිට ඇරඹී එය ප්රතිස්ථාපනය කරනු ලැබේ {ode කේත ගැලපීම්_පෙරන්ට් by.
match_parent, එයින් අදහස් කරන්නේ දර්ශනයට එහි මවුපියන් තරම් විශාල වීමට අවශ්ය බවයි (us ණ පෑඩින්).
wrap_content, එයින් අදහස් කරන්නේ දර්ශනයට එහි අන්තර්ගතය කොටු කිරීමට තරම් විශාල වීමට අවශ්ය බවයි (ප්ලස් පැඩින්)
වඩා හොඳ නිදර්ශනයක් සඳහා, මම මෙම සංකල්පය නිරූපණය කරන නියැදි පිරිසැලසුමක් නිර්මාණය කර ඇත්තෙමි. එහි බලපෑම බැලීමට, මම එක් එක් පෙළ දර්ශන අන්තර්ගතයේ මායිමක් එක් කළෙමි.
"මවුපියන්ට ගැලපෙන්න" පෙළ දර්ශන අන්තර්ගතය තුළ, එහි පිරිසැලසුම් පළල එහි මව්පිය මුළු දිගින්ම පැතිරී ඇති බව අපට දැකගත හැකිය.
නමුත් අපට "ආවරණ අන්තර්ගතය" පෙළ දර්ශන අන්තර්ගතයෙන් දැකිය හැකිය, එහි පිරිසැලසුම් පළල එහි අන්තර්ගතයෙන් (අන්තර්ගතය ඔතා) දිගින් ඔතා ඇත.
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: දර්ශනය එහි මවුපියන් තරම් විශාල විය යුතුය.
දැන් මෙම අන්තර්ගතය fill_parent ඉවත් කර match_parent මගින් ප්රතිස්ථාපනය කර ඇත.
FILL_PARENT API මට්ටමේ 8 සහ ඊට ඉහළින් MATCH_PARENT ලෙස නම් කරන ලදි, එයින් අදහස් වන්නේ දර්ශනය එහි මවුපියන් තරම් විශාල වීමට අවශ්ය බවයි (us ණ පෑඩින්) - ගූගල්
FILL_PARENT
API මට්ටම 8 සහ ඊට ඉහළින් ඉවත් කර ඇති අතර එය ඉහළ අනුවාද සඳහා නම් කර ඇත MATCH_PARENT
දෙකම එක FILL_PARENT
හා සමාන වන අතර MATCH_PARENT
, FILL_PARENT
API මට්ටමේ 8 ට වඩා අඩු අනුවාදයේ භාවිතා කරන ලද අතර MATCH_PATENT 8 ට වඩා වැඩි API මට්ටමේ භාවිතා වේ.
FILL_PARENT
( MATCH_PARENT
API මට්ටම 8 සහ ඊට ඉහළින් නම් කර ඇත), එයින් අදහස් වන්නේ දර්ශනය එහි මවුපියන් තරම් විශාල වීමට අවශ්ය බවයි (us ණ පෑඩින්)
fill_parent
: දර්ශනය එහි මවුපියන් තරම් විශාල විය යුතුය (us ණ පෑඩින්). මෙම නියතය API මට්ටම 8 සිට ආරම්භ වන අතර එය ප්රතිස්ථාපනය match_parent
වේ.
වැඩි විස්තර සඳහා කරුණාකර මෙම පිටුවට පිවිසෙන්න
1. match_parent
ඔබ පිරිසැලසුම් පළල සහ උස 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"
දැන් උප-දර්ශන රේඛීය සැකැස්මක් එක් කර එහි පිරිසැලසුම_විඩ්ත් = "මැච්_පෙරන්ට්" සහ පිරිසැලසුම_හයිට් = "මැච්_පෙරන්ට්" සකසා ගනිමු, චිත්රක දර්ශනය මෙවැනි දෙයක් පෙන්වනු ඇත,
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 භාවිතා කරන්න.
ෆිල්_පෙරන්ට් සහ ගැලපෙන මාපිය යන දෙඅංශයේම හැසිරීමේ වෙනසක් නොමැති බව ඔබට පෙනෙනු ඇත.