Respostas:
Eles são a mesma coisa (no nível API 8+). Use match_parent
.
FILL_PARENT (renomeado MATCH_PARENT no nível 8 da API e superior), o que significa que a exibição deseja ser tão grande quanto seu pai (menos preenchimento)
...
fill_parent
: A exibição deve ser tão grande quanto seu pai (menos preenchimento). Essa constante foi descontinuada a partir do nível 8 da API e foi substituída pormatch_parent
.
http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
-1
. I se sentir melhor sobre isso, eu não obter o impovement em que ou ... :-)
-1
. Você recebe o erro porque a plataforma mais antiga não sabe sobre o novo nome da mesma constante.
O Google mudou o nome para evitar confusão.
O problema com o nome antigo fill parent
era que ele implica em afetar as dimensões do pai, enquanto match parent
descreve melhor o comportamento resultante - combine a dimensão com o pai.
As duas constantes são resolvidas -1
no final e, portanto, resultam no comportamento idêntico no aplicativo. Ironicamente, essa mudança de nome feita para esclarecer as coisas parece ter acrescentado mais confusão do que eliminada.
Funcionalmente, sem diferença, o Google acabou de alterar o nome de fill_parent para match_parent, do nível 8 da API (Android 2.2). FILL_PARENT ainda está disponível por motivos de compatibilidade.
LayoutParams.FILL_PARENT
e LayoutParams.MATCH_PARENT
ambos têm o valor -1. Não tenho certeza do que o Google tentou mudar de Preencher pai para combinar pai :)
Como a maioria das phones are >= Android 2.2
.. você deve usar o Match Parent para compatibilidade futura ... não tenho certeza de quando interromperão a constante Fill Parent mais antiga!
Para fins de compatibilidade, é melhor manter o fill_parent, ou seja, ao oferecer suporte abaixo dos dispositivos API 8. Mas se o seu aplicativo segmentar a API 8 e superior, use match_parent.
FILL_PARENT
for descontinuado (conforme mencionado por Matt Ball acima), a única opção para compatibilidade com versões anteriores é MATCH_PARENT
.
FILL_PARENT
foi descontinuado no nível 8 da API e MATCH_PARENT
usa a API de nível superior
Apenas para dar um nome mais próximo da ação real . "fill_parent"
não preenche o espaço restante como o nome implicaria (para isso você usa o atributo de peso). Em vez disso, ocupa tanto espaço quanto seu pai de layout. É por isso que o novo nome é"match_parent"
Ambos têm funcionalidade semelhante. A única diferença é que fill_parent é usado até o nível 8 da API e match_parent é usado após o nível 8 ou superior da API.
Quando você configurar o layout width
e height
como match_parent
na XML
propriedade, ele vai ocupar toda a área que a visão dos pais tem, ou seja, ele vai ser tão grande quanto o pai.
<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>
O pai da lebre é vermelho e o filho é verde. Criança ocupa toda a área. Porque é width
e height
é match_parent
.
Nota: Se pai for aplicado um preenchimento, esse espaço não será incluído.
<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>
Então TextView hight = 300dp (pai hight) - (20 (paddingTop) +10 (paddingBottom)) = (300-30) dp = 270 dp
fill_parent
é o nome anterior de match_parent
Para API Nível 8 e superior, fill_parent
renomeado como match_parent
e fill_parent
está obsoleto agora.
Então fill_parent
e match_parent
são iguais.
A visualização deve ser tão grande quanto seu pai (menos preenchimento). Essa constante foi descontinuada a partir do nível 8 da API e é substituída por {@code match_parent}.
match_parent, o que significa que a exibição deseja ser tão grande quanto seu pai (menos preenchimento).
wrap_content, o que significa que a visualização deseja ser grande o suficiente para incluir seu conteúdo (mais preenchimento)
Para melhor ilustração, criei um layout de amostra que demonstra esse conceito. Para ver seu efeito, adicionei uma borda de cada conteúdo do textView.
No conteúdo textView "Corresponder pai", podemos ver a largura do layout espalhada por todo o comprimento pai.
Mas podemos ver no texto "Wrap Wrap", exibir a largura do layout e o comprimento do conteúdo (Wrap Content).
match_parent
e fill_parent
são a mesma propriedade, usada para definir a largura ou a altura de uma vista em tela cheia horizontal ou verticalmente.
Essas propriedades são usadas em arquivos xml do Android como este.
android:layout_width="match_parent"
android:layout_height="fill_parent"
ou
android:layout_width="fill_parent"
android:layout_height="match_parent"
fill_parent
foi usado em versões anteriores, mas agora foi preterido e substituído por match_parent
. Espero que ajude você.
fill_parent: a exibição deve ser tão grande quanto seu pai.
agora esse conteúdo fill_parent foi descontinuado e substituído por match_parent.
FILL_PARENT foi renomeado para MATCH_PARENT no nível 8 da API e superior, o que significa que a visualização deseja ser tão grande quanto seu pai (menos preenchimento) - Google
FILL_PARENT
foi descontinuado do nível da API 8 e superior e foi renomeado para as versões superiores como MATCH_PARENT
Ambos são o mesmo FILL_PARENT
e MATCH_PARENT
, FILL_PARENT
foi utilizada na versão inferior a menos de 8 nível API e MATCH_PATENT são usadas em maior maior nível API do que oito.
FILL_PARENT
(renomeado MATCH_PARENT
na API nível 8 e superior), o que significa que a exibição deseja ser tão grande quanto seu pai (menos preenchimento)
fill_parent
: A exibição deve ser tão grande quanto seu pai (menos preenchimento). Essa constante foi descontinuada a partir do nível 8 da API e foi substituída por match_parent
.
Para mais detalhes, visite esta página
1. match_parent
Quando você define a largura e a altura do layout como match_parent, ela ocupará toda a área que a visualização pai possui, ou seja, será tão grande quanto o pai.
Nota : Se pai for aplicado um preenchimento, esse espaço não será incluído.
Quando criamos um layout.xml por padrão, temos RelativeLayout como pai principal. Visualização com android: layout_width = "match_parent" e android: layout_height = "match_parent", ou seja, ele ocupa a largura e a altura completas da tela do celular.
Observe também que o preenchimento é aplicado a todos os lados,
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
Agora vamos adicionar uma subvisualização LinearLayout e definir seu layout_width = "match_parent" e layout_height = "match_parent", a visualização gráfica exibirá algo como isto,
match_parent_example
Código
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:
É o mesmo que match_parent, fill_parent foi preterido no nível 8 da API. Portanto, se você estiver usando o nível 8 ou superior da API, evite usar fill_parent
Vamos seguir os mesmos passos que fizemos para match_parent, basta usar fill_parent em qualquer lugar.
Você verá que não há diferença de comportamento nos pais de preenchimento e no pai de correspondência.