xml中的单位一律采用dp
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
match_parent:和父元素一样 wrap_content:内容自适应
vertical:垂直排列 horizontal:水平排列
-->
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:background="#cccccc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户:"
/>
<!-- 此时的match_parent不会占据 用户 的空间
hint显示默认的内容-->
<EditText
android:hint="请输入"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密码:"
/>
<!-- inputType="numberPassword限制输入的类型(number -->
<EditText
android:hint="请输入"
android:inputType="numberPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<!-- 如果父元素LinearLayout中的orientation显示的是水平(horizontal)的,
那么下面的layout_gravity只能是垂直的调控(左右的调控不起作用),
反之亦然
center会自动选择是水平居中还是垂直居中
gravity是控件内容相关的
-->
<Button
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册:"/>
<!-- layout_margin是外边距,整个控件与控件外(父容器)的距离
peddling是内边距,是控件内部的概念-->
<Button
android:id="@+id/btn_reg"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="注册:"/>
</LinearLayout>
</LinearLayout>
MainActivity
package com.example.mydemo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
// Log.e("MainActivity","日志内容");//输出日志
// 获取布局文件中视图控件的对象
// TextView tvText = findViewById(R.id.tv_hello);//传入的参数是int类型
// tvText.setText("Hello Android!");
//使用纯Java代码创建视图界面
//Context 环境 上下文
// TextView tvContent = new TextView(this);
// tvContent.setText("我是使用Java代码创建的");
// setContentView(tvContent);
//处理按钮的点击事件
Button btnReg = findViewById(R.id.btn_reg);
//匿名内部类
btnReg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {//点击当前按钮会自动调用它
Log.e("MainActivity","点击了按钮");
}
});
}
}