view是UI控件的父类。代表你想在这块区域显示什么东西。比如button,imageview,progressbar进度条,editview(接受用户信息输入)等。
控件的通用属性:
比如和布局一样的大小(match_parent,warp_content,自定义),id,margin边距,background背景色#ffff00或图片@mimap ,gravity偏向。
这里就是用了几个控件的基本属性,实现一个简单的登录界面。
安卓中处理文本的都叫textview,其中按钮和编辑都是继承了其中的功能,还有自己的特殊的函数。
对于长文本,可以在strings.xml中定义,然后直接@应用
最后介绍一下editview的属性。
第一个就是限制输入类型,第二个是输入前提示性的文字,第三个是限定输入最大长度。
具题就不多说了。
button注册点击事件
这个就很重要了,屏幕点击是程序执行的灵魂。
在这里就是内部类的实现,重写事件监听器的方法,把这个类当做接口注册。
而匿名内部类就是,直接在注册时重写方法,而没有新建一个mylistenerclick类。
Button btn2 = findViewById(R.id.btn2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("TAG","匿名内部类实现");
}
});
第三种就是用本类实现 ,其实就是用本类实现View.OnClickListener,重写一下方法。(override下面的方法只要点击一定会使用)。传的时候传this,就可以。
public class ButtonActivity extends AppCompatActivity implements View.OnClickListener
Button btn3=findViewById(R.id.btn3);
btn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Log.e("TAG","本类实现");
}
第四种也是最常用的一种,用xml绑定实现。先在xml文件中绑定一个点击事件
android:onClick=“myclick”
然后在java中写一个Myclick的方法。
public void myclick(View v){
Log.e(“TAG”,“xml实现”);
}
这种方法的好处是,少了注册事件点击 btn3.setOnClickListener(this);比较简洁。
直接写一个myclick方法就好了。因为点击的事件绑定到xml中了。
而且这个方法可以实现多态。比如说,点击不同的按钮想要不一样的效果,我们只需要写一个myclick函数就够了,在函数里根据id(id是可以获得的)判断要执行什么样的操作。