Pergunta

Olá amigos, eu configurei meu layout através da placa na linearlayout, mas ainda assim meu botão no final não pôde ser definido corretamente, pois a placa divide todos os campos em número de colunas, para que alguém possa ajudar como definir 2 layouts em um arquivo XML significa todas as Campos na placa e permanecendo os botões de login e registro no layout linear de outros, para que possam definir corretamente.

Desde já, obrigado.

Layout

Nome de usuário ! EdittExtBox

Senha ! EdittExtBox

Conecte-se ! Registro

Botão ! Botão

Eu quero meu layout no formato acima, então usei o Tablaout, mas nesse caso está causando a visualização do meu botão, bem como está esticando um botão do que outro, pois o EditText é maior que o TextView

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:textSize="26sp"
    android:text="@string/login_text"/>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    >
    <TableRow>
    <TextView  
        android:layout_width="120px"  
        android:text="User name"
        />
    <EditText
        android:id="@+id/txtUserName"
        android:singleLine="true"
        android:maxLength="20"
        android:width="195px"
    />
    </TableRow>
    <TableRow>
    <TextView  
        android:layout_width="120px"  
        android:text="Password"
        />
    <EditText
        android:id="@+id/txtPassword"
        android:width="195px"
        android:maxLength="20"
        android:singleLine="true"
        android:password="true"
    />
    </TableRow>
    <TableRow>
            <TextView />
            <CheckBox android:id="@+id/chkRememberPassword"
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:text="Remember Password"
                />   
        </TableRow>
        <TableRow>
        <Button 
                android:id="@+id/buttonRegister" 
                android:text="Register" 
                android:layout_width="124px"
                android:layout_height="wrap_content"
                android:layout_below="@+id/chkRememberPassword"
                android:layout_alignRight="@+id/chkRememberPassword"
                />
        <Button 
            android:id="@+id/buttonSignIn" 
            android:text="Log In" 
            android:layout_width="124px"
            android:layout_height="wrap_content"
            android:layout_below="@+id/chkRememberPassword"
            android:layout_alignLeft="@+id/chkRememberPassword"
            />        
    </TableRow>

    <TextView  
    android:id="@+id/statusError"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
     />
    </TableLayout>
    </LinearLayout>
Foi útil?

Solução

Eu sugiro que você use wrap_content no tablelayout e então você pode ter seus botões no linearlayout

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
>

Outras dicas

Não é possível definir mais de um layout em um único arquivo XML ... e, pelo mesmo motivo, o Android possui layout, paisagem de layout, etc. Tipo de sistema de pastas ..

O que você pode fazer é o que é explicado por 100rabh ... faça o layout universal aplicando um layout relativo e preencha as configurações dos pais ...

Caso contrário, como expliquei, você precisa fazer 2 arquivos de layout XML e colocar o layout para a paisagem na pasta Layout-Landscape, assim, o respectivo layout será automaticamente definido de acordo com a orientação do telefone ...

Espero que isso ajude você ...

Você precisa criar 2 arquivos XML:

  1. Um no normal layout pasta
  2. Um segundo em um res/layout-land Para definir o layout para a orientação da paisagem. Você precisará criar o res/layout-land pasta se ainda não existir.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top