温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android_Button

发布时间:2020-06-24 23:31:49 阅读:286 作者:呆头陈 栏目:移动开发
Android开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Activity中需要获取一个id是bookName的TextView控件对象,

(TextView)this.findViewById(R.id.bookName)

使用findViewById方法获取一个View对象,参数为控件的id,同时还需要把View对象强制转换成相应的类型

EditText的众多属性中可以限制输入格式的属性:

android:inputType

设置EditText的android:inputType属性可以限制文本输入类型比如android:inputType="textPassword"为设置输入格式为密码格,

android:inputType="phone"为设置输入格式为拨号键盘

Button

可以设置文本内容的一个按钮

ImageButton

不可以设置文本内容 

src:自适应;  background:填充

ImageButton的android:text属性不可以直接赋值

ImageButton是用于在按钮上显示图片的。所以是没有android:text这个属性的。并且如果在布局文件中写上android:text="我是一个按钮",在android 4.4环境中是不会看到任何效果的

1、Button和ImageButton都拥有一个 .setOnClickListener(OnClickListener)方法添加点击事件。

2、所有的控件都有一个onclick事件

3、通过点击事件的监听可以实现点击按钮后发生的动作

监听事件实现的几种方式:

1、匿名内部类实现

public class MainActivity extends AppCompatActivity {

    private Button loginButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /***
         * 1、初始化当前所需要的控件
         *    findViewById--- 返回一个View对象
         * 2、设置Button的监听器,通过监听器实现点击Button的操作
         */
        loginButton=(Button) findViewById(R.id.button);

        //监听事件匿名内部类实现
        loginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //在当前方法中监听点击Button的事件
                Toast.makeText(MainActivity.this"You clicked first button", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

同时给一个Button和ImageButton添加Toast事件:

public class MainActivity extends AppCompatActivity{

    private Button bt1;
    private ImageButton bt3;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /***
         * 1、初始化当前所需要的控件
         *    findViewById--- 返回一个View对象
         * 2、设置Button的监听器,通过监听器实现点击Button的操作
         */
        bt1=(Button) findViewById(R.id.button);
        bt3=(ImageButton)findViewById(R.id.button_i);
        //监听事件匿名内部类实现
        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //在当前方法中监听点击Button的事件
                Toast.makeText(MainActivity.this"You clicked first button", Toast.LENGTH_SHORT).show();
            }
        });

        bt3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this"You clicked Image button", Toast.LENGTH_SHORT).show();
            }
        });

        /***
         * 外部类实现
         */
//        bt1.setOnClickListener(new MyOnClickListener(){
//            public void onClick(View view){
//                super.onClick(view);
//                Toast.makeText(MainActivity.this,"点击了普通按钮",Toast.LENGTH_LONG).show();
//            }
//        });



    }

//    @Override
//    public void onClick(View view) {
//        Log.i("tag","第三种方式");
//    }
}

////实现一个点击事件的接口
//class MyOnClickListener implements View.OnClickListener{
//
//    @Override
//    public void onClick(View view) {
//        Log.i("tag","父类的onClick事件");
//    }
//}

2、独立类的实现

新建一个类:

////实现一个点击事件的接口//class MyOnClickListener implements View.OnClickListener{////    @Override//    public void onClick(View view) {//        Log.i("tag","父类的onClick事件");//    }//}

实例化新建的类实现点击事件:

        /***         * 外部类实现         *///        bt1.setOnClickListener(new MyOnClickListener(){//            public void onClick(View view){//                super.onClick(view);//                Toast.makeText(MainActivity.this,"点击了普通按钮",Toast.LENGTH_LONG).show();//            }//        });

3、实现接口的方式来实现

直接实现一个OnClickListener接口

public class MainActivity extends AppCompatActivity 

重写方法:
@Override
public void onClick(View view) {
    Log.i("tag","第三种方式");
}

实现点击事件:
//        //接口方式实现监听事件:
//        //传入this,即实现当前实现的接口重写的Onclick方法提供的事件
//        bt3.setOnClickListener(this);

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×