美文网首页
Android中点击事件功能实现示例

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

作者: 一定要取个名字嘛 | 来源:发表于2018-05-23 14:17 被阅读0次

    第一种点击事件

    在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中点击事件功能实现示例

          本文链接:https://www.haomeiwen.com/subject/mserjftx.html