开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情
一、线性布局(LinearLayout)
- 只能在横线或竖线放置,默认横线放置
- 容易对齐,应用在登录界面
1.1、常用属性
-
orientation 控制横线放置还是竖线放置
horizontal,横线放置
vertical,竖线放置 -
gravity
针对组件
可以使用|多个参数组合 -
layout_gravity
layout控件本身 -
width,heigh,id,background,和相对布局的一样用法
1.2、权重(weight)
把布局平均分
1.3、分割线
new一个xml
设置形状,大小,宽度,颜色
使用:设置divider,dividePadding(内边距),showDividers
android:divider="@drawable/fg"
android:dividerPadding="2dp"
android:showDividers="middle|end"
二、按键响应
第一种是最容易的,剩下的3种都是围绕OnClickListener接口来实现
2.1、在xml中设置按键的onClick绑定的函数
2.1.1、xml文件
使用onClick可以定义一个函数,这个函数在java中实现,按键被点击后会去调用这个函数
android:onClick="bottonBeCliecked"
2.1.2、java文件
-
去实现xml绑定的函数,使用关键字public
-
可以使用v.getId(返回按下按键的id号)和R.id.but1(返回指定按键的id号,but1),判断是哪个按键按下的,前提是xml里面加了按键id
android:id="@+id/but1"public void bottonBeCliecked(View v){ switch(v.getId()){ case R.id.but1: System.out.println("按键一被按下"); break; case R.id.but2: System.out.println("按键二被按下"); break; } } -
Toast.makeText(context, text, duration) 在安卓APP界面的下方显示
Toast.makeText 构造方法 ,show()方法
context:this
text:显示的东西
duration:显示的时长,0Toast.makeText(this, "按键一被按下", 0).show();
2.2、自定义类实现按键监听事件的接OnClickListener
2.2.1、实现接口类,在类中实现onclicked方法
class MyClieckHandler implements View.OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.but1:
System.out.println("按键一被按下");
break;
case R.id.but2:
System.out.println("按键二被按下");
break;
}
}
}
2.2.2、绑定 局部变量button和xml中的button, findViewById
Button btn1;
Button btn2;
btn1 = (Button) findViewById(R.id.but1);
btn2 = (Button) findViewById(R.id.but2);
2.2.3、为前面做的准备进行绑定。使得按键被按下后执行你写的业务代码
btn1.setOnClickListener(new MyClieckHandler());
btn2.setOnClickListener(new MyClieckHandler());
2.3、匿名内部类实现按键响应
和第二种方法一样,只是写成了内部类
-
和方法2一样,绑定 局部变量button和xml中的button, findViewById
-
编写内部类
2.4、MainActivity实现OnClickListener接口
-
在MainActivity类中实现接口
-
和第2种方法一样,都需要绑定局部变量button和xml中的button,setOnClickListener使得按键被按下后执行你写的业务代码
Button btn1; Button btn2; btn1 = (Button) findViewById(R.id.but1); btn2 = (Button) findViewById(R.id.but2); btn1.setOnClickListener(this); btn2.setOnClickListener(this); -
实现接口里的方法