Atributos e layout do Android

Atributos e layout do Android

Estrutura do arquivo do projeto

Insira a descrição da imagem aqui

O arquivo de manifesto é a pasta de configuração do sistema Android, incluindo o arquivo AndroidManifest.xml

pasta java: usada para armazenar o código java, MainActivity é gerado por padrão e as outras duas são classes de teste

A pasta res armazena arquivos de recursos do Android, incluindo arquivos de recursos de imagens drawable, arquivos de recursos de layout, pastas de recursos de imagens mipmap e arquivos de recursos numéricos de armazenamento de valores

Atributos de layout

Insira a descrição da imagem aqui

O nome completo do atributo xmlns é xmlnamespace. Você pode usar o atributo Android somente após adicionar este atributo

layout_width / height é largura / altura (a largura e altura do layout pai), o atributo layout é obrigatório

O valor do atributo match_parent representa a largura de toda a interface

TextView é um controle de texto

Wrap_content: o conteúdo de texto do pacote

O atributo text representa o valor do texto

TextSize: tamanho do texto

Insira a descrição da imagem aqui

Tag do aplicativo: indica todo o aplicativo Android, que é único no projeto

O atributo allowBackup é definido como true para permitir backup de dados do aplicativo;

A propriedade icon define o ícone do ícone deste aplicativo na área de trabalho;

A propriedade label define o nome de exibição do aplicativo na área de trabalho

O atributo supportedRtl é definido como verdadeiro para indicar que ele suporta layout da direita para a esquerda

O atributo do tema é o tema

tag de atividade: uma atividade pode ser entendida como uma interface de aplicativo

O valor do atributo name é .MainActivity, onde. Significa o nome do pacote da Activity atual

Tag intent-filter, esta tag pode adicionar filtragem

Tag de ação: adicione esta tag e defina seu atributo de nome para android.intent.action.MAIN, o que significa que esta Activity é a
atividade principal do projeto , que será a página principal quando for iniciado e a página inicial será iniciada.

Tag de categoria: defina seu valor de atributo para android.intent, category.LAUNCHER, o item será exibido na lista de programas de telefone celular

Valor de atributo de layout Android

Preenchimento significa preenchimento, e o layout do controle é preenchido

Margem significa a borda, a distância de fora do controle até o controle pai

Gravity = "botton | right" canto inferior direito

Layout linear LinearLayout

Orientação = "vertical" significa que todos os controles filhos no layout devem ser organizados verticalmente

Orientação = "horizontal" significa layout horizontal

Atributos de layout linear

atributo de gravidade

layout_gravity

Controle a posição do controle no layout pai (semelhante à margem)

center_horizontal Centrar horizontalmente
certo Certo
esquerda À esquerda

gravidade

Controlar a exibição de conteúdo no controle (semelhante ao preenchimento)

Insira a descrição da imagem aqui

atributo layout_weight

layout_width = “match_parent”

Altere o tamanho layout_weight, quando o atributo layout_weight do primeiro TextView ficar maior, o peso do segundo ficará menor e o conteúdo será compactado

layout_width = “wrap_content”

Altere o tamanho layout_weight. Quando o atributo layout_weight do primeiro TextView ficar maior, o peso do segundo ficará maior e o conteúdo não será compactado

layout_width = “0dp”

O valor recomendado do sistema, o sistema usará outro algoritmo para calcular a proporção do controle, de modo que o valor do atributo layout_weight e a "largura" ocupada sejam proporcionais

weightSum

Representa a soma de todos os layout_weights, este atributo é usado no layout pai

Use com layout_width = "0dp"

···

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    
    android:weightSum="6">

    <TextView
        android:layout_width="0dp"
        
        android:layout_height="wrap_content"
        android:layout_weight="2"
        
        android:text="2"
        android:background="#ff0000"
        android:textSize="30sp" />

    <TextView
        android:layout_width="0dp"
        
        android:layout_height="wrap_content"
        android:layout_weight="1"
        
        android:text="1"
        android:background="#E7D1D1"
        android:textSize="30sp" />

</LinearLayout>

···

Imagem do efeito:

Insira a descrição da imagem aqui

O código acima define o layout pai weightSum como 6, divide a tela inteira em 6 partes, define o valor do atributo layout_weight do primeiro TextView como 2 e define o segundo como 1, ocupando 2 partes e 1 parte da tela ampla, respectivamente, e define os controles Para a exibição central vertical, o resultado mostra que a primeira textView tem o dobro da largura da segunda e a soma das duas é responsável pela metade da largura total.

O layout relativo do Android layout-RelativeLayout

Atributos de posição comum RelativeLayout

A primeira categoria: o valor do atributo é verdadeiro ou falso

android: layout_centerHrizontal horizontal center
android: layout_centerVertical vertical center
android: layout_centerInparent perfeitamente centrado em relação ao elemento pai
android: layout_alignParentBottom contato próximo com a borda inferior do elemento pai
android: layout_alignParentLeft contato próximo com a borda esquerda do elemento pai
android: edge_alignParentRight o contato próximo com o elemento android: edge_alignParentRight o elemento
android direito : layout_alignParentTop Perto da borda superior do elemento pai
android: layout_alignWithParentIfMissing Se o elemento irmão correspondente não puder ser encontrado, o elemento pai será usado como referência

A segunda categoria: o valor do atributo deve ser o nome de referência de id "@ id / id-name"
android: layout_below abaixo de um elemento
android: layout_above acima de um elemento
android: layout_toLeftOf à esquerda de um elemento
android: layout_toRightOf em um determinado O lado direito do elemento

android: layout_alignTop A borda superior deste elemento está alinhada com a borda superior de
um elemento android: layout_alignLeft A borda esquerda deste elemento está alinhada com a borda esquerda de
um elemento android: layout_alignBottom A borda inferior deste elemento está alinhada com a borda inferior de um elemento
android: layout_alignRight A borda direita deste elemento está alinhada com a borda direita de um elemento

A terceira categoria: o valor do atributo é o valor de pixel específico
android: layout_marginBottom a distância da borda inferior de um elemento
android: layout_marginLeft a distância da borda esquerda de um elemento
android: layout_marginRight a distância da borda direita de um elemento
android: layout_marginTop da borda superior de um elemento distância

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Butten1"/>

    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:layout_above="@+id/btn1"
        android:layout_toLeftOf="@+id/btn1"
        
        android:text="Butten2"/>

    <Button
    android:id="@+id/btn3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
        
    android:layout_above="@+id/btn1"
    android:layout_toRightOf="@+id/btn1"
        
    android:text="Butten3"/>

    <Button
        android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:layout_above="@+id/btn2"
        android:layout_toLeftOf="@+id/btn3"
        android:layout_toRightOf="@+id/btn2"
        
        android:text="Butten4"/>


</RelativeLayout>

efeito

Insira a descrição da imagem aqui

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:layout_alignParentBottom="true"
        
        android:padding="5dp"
        android:text="TextView1"
        android:textSize="26dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:layout_alignParentLeft="true"
        
        android:padding="5dp"
        android:text="TextView2"
        android:textSize="26dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        
        android:padding="5dp"
        android:text="TextView3"
        android:textSize="26dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:layout_alignParentRight="true"
        
        android:padding="5dp"
        android:text="TextView4"
        android:textSize="26dp"/>
</RelativeLayout>

efeito:

Insira a descrição da imagem aqui

Layout de quadro do Android layout-FrameLayout

Um método de layout relativamente simples, todos os controles são exibidos em cascata, o padrão é colocado no canto superior esquerdo da tela, o menor controle adicionado é colocado na parte inferior e os controles adicionados posteriormente são colocados no topo do primeiro controle adicionado.

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout1"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:background="#ff6143"/>

    <TextView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_gravity="center"
        android:background="#7bfe00"/>

    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:background="#ffff00"/>



</FrameLayout>

efeito

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_44192389/article/details/109133333
Recomendado
Clasificación