Estou um pouco confuso sobre duas propriedades XML: match_parent
e fill_parent
. Parece que ambos são iguais. Existe alguma diferença entre eles?
android
android-layout
vnshetty
fonte
fonte
Respostas:
Eles são a mesma coisa (no nível API 8+). Use
match_parent
.http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
fonte
-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, enquantomatch 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.fonte
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
eLayoutParams.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!fonte
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.
fonte
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 eMATCH_PARENT
usa a API de nível superiorfonte
match_parent é usado no lugar de fill_parent e o define para ir o mais longe possível até o pai. Basta usar match_parent e esquecer fill_parent . Abandonei completamente o fill_parent e tudo está perfeito, como de costume.
Confira aqui para mais informações.
fonte
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"
fonte
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.
fonte
Quando você configurar o layout
width
eheight
comomatch_parent
naXML
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.O pai da lebre é vermelho e o filho é verde. Criança ocupa toda a área. Porque é
width
eheight
ématch_parent
.Nota: Se pai for aplicado um preenchimento, esse espaço não será incluído.
Então TextView hight = 300dp (pai hight) - (20 (paddingTop) +10 (paddingBottom)) = (300-30) dp = 270 dp
fill_parent vs match_parent
fill_parent
é o nome anterior dematch_parent
Para API Nível 8 e superior,
fill_parent
renomeado comomatch_parent
efill_parent
está obsoleto agora.Então
fill_parent
ematch_parent
são iguais.Documentação da API para fill_parent
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}.
fonte
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).
fonte
match_parent
efill_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.
ou
fill_parent
foi usado em versões anteriores, mas agora foi preterido e substituído pormatch_parent
. Espero que ajude você.fonte
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.
fonte
Para mim, preencher pai e combinar pai desempenha a mesma função apenas que:
pai de preenchimento : foi usado antes da API 8
match parent Isso foi usado na API 8+ Function of Both Preenche a visualização pai ao lado do preenchimento
fonte
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
fonte
FILL_PARENT
foi descontinuado do nível da API 8 e superior e foi renomeado para as versões superiores comoMATCH_PARENT
Ambos são o mesmo
FILL_PARENT
eMATCH_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
(renomeadoMATCH_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 pormatch_parent
.Para mais detalhes, visite esta página
fonte
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,
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
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.
fonte