Android学习(Button控件)

Button控件用于触发事件,在android开发中使用比较广泛。例如,在使用QQ时,输入完消息点击发送,消息就能发送给好友,这就触发了button的事件——click。
下面来说如何使用Button。首先在xml前台中部署一个button控件

<Button
	android:id="@+id/button"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:text="Button"/>

分析:第一行,id是给Button起一个名字,便于在其他情况引用
第二行,layout_width是横向属性,可以理解为button的宽。match_parent是填充父布局。所以这句代码的效果就是让button横向填满整个页面。
第三行,layout_height是竖向属性,可以理解为button的长。wrap_content是根据文本选择大小,如果文字大,纵向大,文字小,纵向就小。一般文本的大小是同dp做单位,dp在不同的屏幕尺寸下能保持相对大小
第四行,text是button中间的文本。英文情况下默认全部是大写,可以通过textAllCaps属性设置为false

接下来看后台java文件
第一种匿名类注册方法

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);  
    Button btn = findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener() {
    @Override
    	public void onClick(View v) {
   		//在此处添加逻辑
  	 }
    });
}

分析:第一行声明Button类型的一个对象,同过finViewById与在xml注册的ID为button的控件相关联。
第二、三行是调用已经声明的Button类型的对象btn(名字是自己起的,也可以不叫btn)的方法,创建一个监听器Listener,其中参数View.OnclickListener是是点击事件的监听器接。进行重写(override)
第四行onClick是接口定义的函数。流程:如果点击button按钮,后台java文件首先分析有没有监听器,如果有,那么调用监听器中的方法。
注意每个View只能注册一个事件,如果注册第二个,那么第一个会被自动注销。
如果想要定义多个事件,可以采用下面的写法
第二种接口注册方法

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Button btn = findViewById(R.id.button);					
        btn.setOnClickListener(this);						//1

    }
    @Override
    public void onClick(View v) {						
        switch(v.getId()){							
            case R.id.button:							//2
                //此处添加逻辑
                break;
            default:
                break;
        }
    }
}

分析:public class MainActivity extends AppCompatActivity implements View.OnClickListener这一句是让class继承View.OnClickListener这个接口。
注释1处的参数this代表当点class来调用。
注释2处判断是哪一个button来响应事件。
利用这种方法可以注册多个监听器。
(在public class MainActivity extends AppCompatActivity 后写上implements View.OnClickListener后,代码旁边会有一个灯泡,点击后Android studio会自动补全后边的代码)

猜你喜欢

转载自blog.csdn.net/qq_42893430/article/details/88756467