当前位置: 首页> 休闲娱乐> 漫画> 正文

androidbutton点击事件的简单介绍

  • Drink丶毒药Drink丶毒药
  • 漫画
  • 2023-04-06 10:17:01
  • -
Android中Button实现点击换图案及颜色

android中怎么样给button加点击事件

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

button.setVisibility(View.GONE);//设置button隐藏不可见

}

});

if(bmp==null){

View.setVisible(View.GONE);

}else{

View.setVisible(View.VISIBLE);

}

希望能帮到你 如果还不会,你可以hi我 随时在线的哟 亲!

Android中点击事件功能实现示例

第一种点击事件

在xml中设置onclick属性

 android:onClick="myOnclick"

第二种;获取Button然后一个一个单独绑定点击事件

"

    xmlns:tools=" "

    android:layout_width="match_parent"

    android:layout_height="match_parent"

   android:orientation="vertical" 

      android:id="@+id/btn_imgBtn"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:onClick="myOnclick"

        android:text="imageButton"

        /

        android:id="@+id/btn_imgView"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:onClick="myOnclick"

        android:text="imageView"

        /

public class MainActivity extends ActionBarActivity {

 private Button btnImageBtn;

 private Button btnImageView;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        btnImageBtn = (Button) findViewById(R.id.btn_imgBtn);

        btnImageView =  (Button) findViewById(R.id.btn_imgView);

 btnImageBtn.setOnClickListener(new OnClickListener() {

   @Override

   public void onClick(View v) {

    Toast.makeText(MainActivity.this, "点击ImageButton", Toast.LENGTH_SHORT).show();

   }

  });

        btnImageView.setOnClickListener(new MyListener());

    }

第三种:写一个类(MyListener)实现OnClickListener接口,然后Button在设置onclickListener的时候new一个MyListener

btnImageView.setOnClickListener(new MyListener());

 class MyListener implements OnClickListener{

  @Override

  public void onClick(View view) {

   switch (view.getId()) {

   case R.id.btn_imgBtn:

    Toast.makeText(MainActivity.this, "点击ImageButton", Toast.LENGTH_SHORT).show();

    break;

         case R.id.btn_imgView:

          Toast.makeText(MainActivity.this, "点击imageView", Toast.LENGTH_SHORT).show();

    break;

   } 

第四种:整个类(MianActivity)实现onclickListener的接口

跳转界面

Intent:意图,用于访问android中的组件

用Intent跳转界面(activity)

第一步:new一个Intent()

Intent intent1 = new Intent(MainActivity.this,ImageButtonActivity.class);

startActivity(intent1);

 public void myOnclick(View view){

     switch (view.getId()) {

  case R.id.btn_imgBtn:

   Intent intent1 = new Intent(MainActivity.this,ImageButtonActivity.class);

   startActivity(intent1);

   break;

        case R.id.btn_imgView:

         Intent intent2 = new Intent(MainActivity.this,ImageViewActivity.class);

   startActivity(intent2);

   break;

Intent intent = new Intent(当前的activity,跳转到的acticvity.class);

startActivity(intent);

3.ImageView

展示方式:scaleType:

4.ImageButton:

触摸事件:当控件或者屏幕呗触摸的时候,产生的反应

public boolean onTouchEvent(MotionEvent event) {

imageButton:现在已经呗button代替,用于展示图片的按钮。不能显示文字。

imageView

scaleType:图片展示的方式

 fitStart:展示在控件的上方

 fitCenter:展示在控件的中间

 fitEnd;展示在控件的下方

 fitXY:不按照比例拉伸

 matrix:矩阵模式

matrix可以设置图片旋转,缩放。移动

获取图片的高度和宽度

int h = imgView.getDrawable().getIntrinsicHeight();

int w = imgView.getDrawable().getIntrinsicWidth();

 Matrix m = new Matrix();

m.postRotate(45);

m.postRotate(45, w/2, h/2);

imgView.setImageMatrix(m);

移动事件:

按下:MotionEvent.ACTION_DOWN

抬起:MotionEvent.ACTION_UP

移动:MotionEvent.ACTION_MOVE

获取当前的移动事件,

event.getAction()

"

    xmlns:tools=" "

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    

        android:id="@+id/img_01"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:src="@drawable/ss"

        android:scaleType="fitXY"/

        android:id="@+id/img_02"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:src="@drawable/gl"

        android:visibility="gone"

        android:scaleType="fitXY"/

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/bird"

        android:layout_gravity="center"

        /

         android:layout_width="fill_parent"

         android:layout_height="wrap_content"

         android:textSize="20sp"

         android:textColor="#ff0000"

         android:gravity="center"

         android:text="小鸟飞"/

public class MainActivity extends Activity {

 private ImageView img01;

 private ImageView img02;

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  img01 = (ImageView) findViewById(R.id.img_01);

  img02 = (ImageView) findViewById(R.id.img_02);

 }

 @Override

 public boolean onTouchEvent(MotionEvent event) {

  //System.out.println("被摸了");

  if(event.getAction()==MotionEvent.ACTION_UP){

   Log.v("TAG", "被抬起来");

   if(img01.getVisibility()==View.VISIBLE){

    img01.setVisibility(View.GONE);

    img02.setVisibility(View.VISIBLE);

   }else{

    img01.setVisibility(View.VISIBLE);

    img02.setVisibility(View.GONE);

   }

  }else if(event.getAction()==MotionEvent.ACTION_DOWN){

   Log.v("TAG", "被按下了");

  }else if(event.getAction()==MotionEvent.ACTION_MOVE){

   Log.v("TAG", "移动了");

  }

  return super.onTouchEvent(event);

 }

Android实现触发html页面的Button控件点击事件方式

Android中Eclipse怎样创建按钮Button点击事件

Android中设置Button点击监听方法如下:

方法一、

        Button Btn1 = (Button)findViewById(R.id.button1);   

        Btn1.setOnClickListener(new Button.OnClickListener(){ 

            public void onClick(View v) {    

                //点击了Btn1 

            }    

  

        });

方法二、

        Button Btn2 = (Button) findViewById(R.id.button2);   

        Btn2.setOnClickListener(listener); 

        

        Button.OnClickListener listener = new Button.OnClickListener(){//创建监听对象    

        public void onClick(View v){    

              //点击了Btn2 

        }    

  

    };

方法三、

       public void Btn3OnClick(View view){    

        //点击了Btn23

       }    

       

  //需要在layout布局对应Button中添加android:onClick="Btn3OnClick",Btn3OnClick可自行命名

    Button  

        android:id="@+id/button3"  

        android:layout_width="wrap_content"  

        android:layout_height="wrap_content"  

        android:text="Button3"   

        android:onClick="Btn3OnClick"/

[img]

如何绑定android点击事件

在Android中为组件绑定点击事件的方式可以分为四种,

1、 在xml布局文件中,定义onclick的方式

!—第一步在XML文件中给对应组件添加Onclick属性--

Button

android:id="@+id/submitbutton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentEnd="true"

android:layout_alignParentRight="true"

android:onClick="buttonClickHandle"

android:layout_alignParentTop="true"

android:text="提交" /

//第二步在对应的Activity中创建一个与onClick属性值相同的方法,并传入一个View参数,当Button被点击时就会回调这个方法。

public void buttonClickHandle(View view) {

Snackbar.make(coordinatorLayout, "你点击了Button", Snackbar.LENGTH_LONG)

.setAction("Action", null).show();

}

另外三种绑定点击事件的方式实际上就是通过组件调用setOnClickListener()的方法,下面我们就来看一下这个方法的源码。

/**

* Register a callback to be invoked when this view is clicked. If this view is not

* clickable, it becomes clickable.

*

* @param l The callback that will run

*

* @see #setClickable(boolean)

*/

public void setOnClickListener(@Nullable OnClickListener l) {

if (!isClickable()) {

setClickable(true);

}

getListenerInfo().mOnClickListener = l;

}

根据源码我们可以看到这个方法中需要一个OnClickListener的对象。下面我们就来看看这个OnClickListener对象是个什么东东。

/**

* Interface definition for a callback to be invoked when a view is clicked.

*/

public interface OnClickListener {

/**

* Called when a view has been clicked.

*

* @param v The view that was clicked.

*/

void onClick(View v);

}

根据源码我们可以看到实际上这个OnClickListener就是一个接口,这个接口中有一个onClick的抽象方法。所以我们在创建这个OnClickListener对象是还需要实现这个抽象方法。这个onClick的抽象方法实际上就是当我们点击按钮后会回调的方法。我们对于点击事件的响应处理就在这个方法中进行。

现在我们已经了解了设置点击事件的setOnClickListener方法,根据我们如何创建这个方法中的OnClickListener对象,我们设置点击事件的方式可以分为如下三种:

1、内部类的形式

a. package com.example.hsport.catalog;

import android.os.Bundle;

import android.support.design.widget.CoordinatorLayout;

import android.support.design.widget.Snackbar;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

private CoordinatorLayout coordinatorLayout;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);

// 获取button对象

Button button = (Button) findViewById(R.id.submitbutton);

//创建内部类的实例

MyListener myListener = new MyListener();

//设置button的点击事件,将实现OnClickListener接口的内部类实例传入到setOnClickListener方法中

button.setOnClickListener(myListener);

}

//创建一个内部类实现View.OnClickListener接口,并实现其onClick方法

private class MyListener implements View.OnClickListener {

@Override

public void onClick(View v) {

Snackbar.make(coordinatorLayout, "你点击了Button", Snackbar.LENGTH_LONG).setAction("Action", null).show();

}

}

}

2、 匿名内部类的方式

package com.example.hsport.catalog;

import android.os.Bundle;

import android.support.design.widget.CoordinatorLayout;

import android.support.design.widget.Snackbar;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

private CoordinatorLayout coordinatorLayout;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);

//获取Button对象

Button button = (Button) findViewById(R.id.submitbutton);

//以创建一个View.OnClickListener的匿名内部类,并实现它的onClick方法

button.setOnClickListener(new View.OnClickListener() {

//在onClick方法中我们就可以设置button的响应代码了

@Override

public void onClick(View v) {

Snackbar.make(coordinatorLayout, "你点击了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();

}

});

}

3、 让主类实现OnClickListener接口,然后再主类实现未实现的方法

package com.example.hsport.catalog;

import android.os.Bundle;

import android.support.design.widget.CoordinatorLayout;

import android.support.design.widget.Snackbar;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private CoordinatorLayout coordinatorLayout;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);

//获取Button对象

Button button = (Button) findViewById(R.id.submitbutton);

//因为我们让MainActivity实现了View.OnClickListener这个接口,所以setOnClickListener方法中的参数直接传入this即可。

button.setOnClickListener(this);

}

//因为MainActivity实现了View.OnClickListener接口,所以在MainActivity中还有要实现该接口中改的onClick方法来处理点击事件。

@Override

public void onClick(View v) {

Snackbar.make(coordinatorLayout, "你点击了Button",Snackbar.LENGTH_LONG).setAction("Action", null).show();

}

}

关于如何给组件绑定点击事件,是Android中的基础知识,如果你还想更加详细的了解,推荐你可以去一个叫做秒秒学的教程网站看看,夯实下基础。

Android中Eclipse怎样创建按钮Button点击事件