3

嗨朋友们,我已经在 LinearLayout 中通过 TabLayout 设置了我的布局,但最终我的按钮仍然无法正确设置,因为 TabLayout 将所有字段划分为列数,所以任何人都可以帮助如何在一个 XML 文件中设置 2 个布局意味着所有TabLayout 中的字段和线性布局中的登录和注册按钮或其他一些,以便它们可以正确设置。

提前致谢。

布局

用户名 !编辑文本框

密码 !编辑文本框

登录 !登记

按钮 !按钮

我希望我的布局采用上述格式,所以我使用了 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>
4

3 回答 3

1

我建议您在 TableLayout 中使用 wrap_content ,然后您可以在 LinearLayout 中使用您的按钮

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
>
于 2010-10-27T06:23:46.420 回答
0

不可能在单个 xml 文件中设置多个布局...出于同样的原因,Android 具有布局、布局-横向等类型的文件夹系统..

您可以做的正如 100rabh 所解释的那样...通过应用相对布局和填充父设置来使布局通用...

否则,正如我解释的那样,您需要制作 2 个 xml 布局文件并将横向布局放在 layout-landscape 文件夹中,从而根据手机的方向自动设置相应的布局......

希望这可以帮助你...

于 2010-10-27T07:06:32.750 回答
0

您需要创建 2 个 XML 文件:

  1. 一个在普通layout文件夹中
  2. res/layout-land定义横向布局的第二个。res/layout-land如果该文件夹尚不存在,则需要创建该文件夹。
于 2012-05-19T12:59:17.677 回答