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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中点击事件功能实现示例相关的知识,希望对你有一定的参考价值。

参考技术A 第一种点击事件

在xml中设置onclick属性

 android:onClick="myOnclick"

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

http://schemas.android.com/apk/res/android"

    xmlns:tools=" http://schemas.android.com/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()

http://schemas.android.com/apk/res/android"

    xmlns:tools=" http://schemas.android.com/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中点击事件功能实现示例的主要内容,如果未能解决你的问题,请参考以下文章

android中,如何让布局文件中定义的一个Layout接收点击事件,并为它添加Listener。或者是类似的功能实现

android通知栏Notification点击,取消,清除响应事件

spnnableBuilder 实现Android 表情 高亮字体 及 点击事件

spnnableBuilder 实现Android 表情 高亮字体 及 点击事件

工作日报 2022.1.17 Android 获取系统的震动功能

Android 实现APP内应用更新功能(支持Android7.0以上)