【Android】关于Button事件

【Click和LongClick:】

关于单击和长按事件区别:

单机事件,需要按下和放开两个完成才能触发;

长按只需要按住一定的时间后就可以触发。

所以按下一个按钮后,只要不放掉,一定时间后就会触发长按事件,然后放掉,就会触发click单击事件。

示例代码:

Btn1.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                tv1.setText("1111");
            }
        });
        
Btn1.setOnLongClickListener(new OnLongClickListener() {
            
            @Override
            public boolean onLongClick(View arg0) {
                // TODO Auto-generated method stub
                tv2.setText("2222");

                return false;
            }
        });

return false 说明的是,这个按下的事件进行后,还要继续进行接下来的按钮动作,否则就会直接结束这个button的按钮事件。就是说,如果我设置为TRUE,tv1就不会显示1111。

点击前
点击一下
长按后

【图文混排:】

所谓的图文混排就是用SpannableString和ImageSpan两个类来实现这一功能。因为TextView,Button等控件都是无法直接显示图片的。

相关的方法,在之前的EditText中也有类似的介绍。

//步骤1,建立SpannableString对象,作为图像替换的基础
SpannableString str1 = new SpannableString("left");
SpannableString str2 = new SpannableString("button");
SpannableString str3 = new SpannableString("right");

//步骤2,准备好图像资源,这里用的都是Android机器人
Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Bitmap bitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
        
//步骤3,把SpannableString对象用ImageSpan对象替换
ImageSpan imgLeft = new ImageSpan(bitmap1);
ImageSpan imgRight= new ImageSpan(bitmap2);
str1.setSpan(imgLeft, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
str3.setSpan(imgRight, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//步骤4,把图像显示在按钮上
Btn1.setText("");
Btn1.append(str1);      
Btn1.append(str2);
Btn1.append(str3);
按钮的图文混排
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,526评论 1 11
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,589评论 0 11
  • 本节介绍各种常见的浏览器事件。 鼠标事件 鼠标事件指与鼠标相关的事件,主要有以下一些。 click 事件,dblc...
    许先生__阅读 2,494评论 0 4
  • JavaScript 与 HTML 间通过事件实现交互。事件——文档或浏览器窗口中发生的一些特定的交互瞬间,即用户...
    sylvia_yue阅读 496评论 0 0
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,629评论 2 10