Android学习笔记十五之TableLayout表格布局

Android学习笔记十五之TableLayout表格布局

  TableLayout表格布局,类似于表格,与前面介绍的LinearLayout和RelativeLayout类似,介绍一下常用的属性:

  • android:collapseColumns:设置需要被隐藏的列的序号
  • android:shrinkColumns:设置允许被收缩的列的列序号
  • android:stretchColumns:设置运行被拉伸的列的列序号

下面用TableLayout实现一个简单的登录页面:

布局代码:

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

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="0,3">

    <TableRow>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:gravity="center"
            android:paddingLeft="8dp"
            android:paddingRight="8dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="用户名:"
                android:textSize="18sp" />

            <EditText
                android:id="@+id/et_username"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="请输入用户名" />

        </LinearLayout>


    </TableRow>

    <TableRow>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:gravity="center"
            android:paddingLeft="8dp"
            android:paddingRight="8dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="密    码:"
                android:textSize="18sp" />

            <EditText
                android:id="@+id/et_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="请输入密码"
                android:inputType="textPassword" />
        </LinearLayout>

    </TableRow>

    <TableRow>

        <Button
            android:id="@+id/btn_sign_in"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:paddingLeft="8dp"
            android:paddingRight="8dp"
            android:text="登录" />
    </TableRow>

</TableLayout>
</LinearLayout>

Acvitity代码:

private EditText et_username;
private EditText et_password;
private Button btn_sign_in;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tablayout);
    et_username = (EditText) findViewById(R.id.et_username);
    et_password = (EditText) findViewById(R.id.et_password);
    btn_sign_in = (Button) findViewById(R.id.btn_sign_in);
    btn_sign_in.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String username = et_username.getText().toString().trim();
            String password = et_password.getText().toString().trim();
            if (username.equals("zhangsan") && password.equals("zhangsan")) {
                Toast.makeText(TableLayoutActivity.this, "登录成功", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(TableLayoutActivity.this, "登录失败", Toast.LENGTH_LONG).show();
            }
            et_username.setText("");
            et_password.setText("");
        }
    });
}

实现效果图:

Android学习笔记十五之TableLayout表格布局_第1张图片

附上TableLayout的国内镜像API

关于TableLayout就介绍到这里,比较简单。下面我们介绍FrameLayout帧布局。

你可能感兴趣的:(android,布局,RelativeLayout)