Вопрос

Привет, друзья, я установил свой макет через TabLayout в LinearLayout, но все же моя кнопка в конце не может быть установлена должным образом, так как TabLayout делит все поля на количество столбцов, поэтому может кто-нибудь помочь, как установить 2 макета в одном XML-файле означает все поля в TabLayout и оставшиеся кнопки Login и Register в Linear Layout или какие-то другие, чтобы их можно было правильно установить.

Заранее спасибо.

Макет

Имя пользователя !EditTextBox

Пароль !EditTextBox

Авторизоваться !регистр

Кнопка !Кнопка

Я хочу, чтобы мой макет был в указанном выше формате, поэтому я использовал TabLaout, но в этом случае это вызывает просмотр моей кнопки, а также растягивает одну кнопку, чем другую, поскольку EditText больше, чем 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>
Это было полезно?

Решение

Я предлагаю вам использовать Wrap_content в TableLayout, и тогда вы можете иметь кнопки в Linearlayout

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

Другие советы

Невозможно установить более одного макета в одном XML-файле...И по той же причине в Android есть макет, макет-альбом и т. д.тип системы папок..

То, что вы можете сделать, описано в 100rabh...Сделайте макет универсальным, применив относительный макет и заполнив родительские настройки...

В противном случае, как я объяснил, вам нужно создать 2 файла макета XML и поместить макет для альбомной ориентации в папку макета-альбомного, таким образом соответствующий макет будет автоматически установлен в соответствии с ориентацией телефона...

Надеюсь, это поможет вам...

Вам нужно создать 2 файла XML:

  1. Один в обычном layout папка
  2. Второй в res/layout-land Определить макет для ландшафтной ориентации. Вам нужно будет создать res/layout-land папка, если она еще не существует.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top