安卓APP线性布局

183 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情

一、线性布局(LinearLayout)

  • 只能在横线或竖线放置,默认横线放置
  • 容易对齐,应用在登录界面

1.1、常用属性

  1. orientation 控制横线放置还是竖线放置
    horizontal,横线放置
    vertical,竖线放置

  2. gravity
    针对组件
    可以使用|多个参数组合

  3. layout_gravity
    layout控件本身

  4. 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文件

  1. 去实现xml绑定的函数,使用关键字public

  2. 可以使用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;
        	}
        }
    
  3. Toast.makeText(context, text, duration)    在安卓APP界面的下方显示
    Toast.makeText 构造方法 ,show()方法
    context:this
    text:显示的东西
    duration:显示的时长,0

    Toast.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、匿名内部类实现按键响应

和第二种方法一样,只是写成了内部类

  1. 和方法2一样,绑定 局部变量button和xml中的button,  findViewById

  2. 编写内部类

2.4、MainActivity实现OnClickListener接口

  1. 在MainActivity类中实现接口

  2. 和第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);
    
  3. 实现接口里的方法