Definir a gravidade do próprio RelativeLayout afetará todos os objetos colocados dentro dele. Nesse caso, é apenas o botão. Você pode usar qualquer uma das configurações de gravidade aqui, é claro (por exemplo, center_horizontal, top, right, etc.).
Obrigado. No entanto, se eu tivesse vários botões e quisesse apenas um centralizado, como faria isso? O primeiro código centralizaria tudo dentro do layout relativo pai. Além disso, como eu poderia centralizar o botão na parte superior da linha?
Arcádia
Basta usar o segundo exemplo e adicionar apenas centerInParent ao botão que você deseja centralizar. Você também pode usar centerHorizontal e layout_alignParentTop para alinhá-lo ao topo e centralizá-lo horizontalmente. O que exatamente você está tentando alcançar, posso dar um exemplo melhor.
precisa saber é o seguinte
Estou apenas começando meus estudos sobre desenvolvimento do Android e tentando entender completamente como manipular as coisas para fazer o que eu quero. Basicamente, quero ficar longe de alinhar as coisas com os pixels, porque a imagem pode parecer muito diferente em um tipo / resolução de tela diferente. No entanto, quando você usa o comando gravidade, tudo segue-o. Tentei desativar a gravidade de um botão usando ignoreGravity e ele não funcionou. Esse material é muito complicado.
Arcadia
Sim, definitivamente pode ser. Existem várias maneiras de fazer qualquer layout específico. A melhor maneira é esboçar na sua cabeça como você deseja e ir a partir daí. Este rápido tutorial pode ajudar alguns também: developer.android.com/resources/tutorials/views/...
Kevin Coppock
Sim, eu estava realmente fazendo esse tutorial. Estou examinando cada um dos tutoriais e aprendendo a manipulá-los completamente, caso contrário não terei uma noção de como cada um é diferente.
Arcádia
25
Resumido
Adicionando:
android:layout_centerInParent="true"
funciona apenas em RelativeLayout, se um dos seguintes atributos também estiver definido para a exibição:
Para centralizar o alinhamento em uma das direções, use android: layout_centerHorizontal = "true" ou android: layout_centerVertical = "true" no layout filho
Remover qualquer alinhamento como o android: layout_alignParentStart = "true" e adicionar centerInParent funcionou para mim. Se o "alinhar" permanecer em, o centerInParent não funcionará
Respostas:
Experimentar
Exatamente assim, funciona para mim:
fonte
Você pode usar CENTER_IN_PARENT para o layout relativo.
Adicione
android:layout_centerInParent="true"
ao elemento que você deseja centralizar no RelativeLayoutfonte
Arcadia, tente o código abaixo. Existem várias maneiras de obter o resultado que você procura, e essa é uma das maneiras mais fáceis.
Definir a gravidade do próprio RelativeLayout afetará todos os objetos colocados dentro dele. Nesse caso, é apenas o botão. Você pode usar qualquer uma das configurações de gravidade aqui, é claro (por exemplo, center_horizontal, top, right, etc.).
Você também pode usar este código abaixo:
fonte
Resumido
Adicionando:
funciona apenas em RelativeLayout, se um dos seguintes atributos também estiver definido para a exibição:
que alinha a visão filho à visão pai. O "centro" é baseado no eixo do alinhamento que você escolheu:
esquerda / direita -> vertical
superior / inferior -> horizontal
Configurando a gravidade de crianças / conteúdo dentro da visualização:
está centralizando o filho na visualização pai em qualquer caso, se não houver um conjunto de alinhamento. Opcional, você pode escolher:
Então há:
que está centralizando a própria visão dentro de seu pai
E, finalmente, você pode adicionar o seguinte atributo à visualização dos pais:
fonte
Use o atributo
android:centerInParent="true"
dentro de uma vista, quando desejar centralizar a vista no layout Relativo.fonte
É fácil, não alinhe a nada
fonte
Para centralizar o alinhamento em uma das direções, use android: layout_centerHorizontal = "true" ou android: layout_centerVertical = "true" no layout filho
fonte
Remover qualquer alinhamento como o android: layout_alignParentStart = "true" e adicionar centerInParent funcionou para mim. Se o "alinhar" permanecer em, o centerInParent não funcionará
fonte
É realmente fácil. Experimente o código abaixo,
fonte
você deve ter alinhado à esquerda ou à direita da visualização dos pais
não use nenhum destes itens ao usar
android:centerInParent="true"
códigos: -android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
etc.
fonte