Android实践(滑动监听)

新的知识,新的开始。

这篇文章主要讲我在学习安卓的时候一些小问题,话不多说,直接进入正题,在学习mooc课程的时候有一个作业是这样的要求。

一开始我写的动作是在ImageView内部设置点击监听器。

class myLisntener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.img1:
                    textView.setText("春");
                    break;
                case R.id.img2:
                    textView.setText("夏");
                    break;
                case R.id.img3:
                    textView.setText("秋");
                    break;
                case R.id.img4:
                    textView.setText("冬");
                    break;
            }
        }

并进行如下设定。

season[i].setOnClickListener(new myLisntener());

 这是效果图:

由于使用的是点击监听器,所以体验并不是很好,所以我将点击监听改为了滑动监听。

以下是更改之后的效果图:

以下是源码:

package com.example.eighthwork;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private ImageView[] season;
    private TextView textView;
    private int[] seasonid= {R.id.img1,R.id.img2,R.id.img3,R.id.img4};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initview();
    }
    void initview(){
        textView = findViewById(R.id.tvinfo);
        season = new ImageView[4];
        for(int i = 0;i<seasonid.length;i++){
            season[i] = findViewById(seasonid[i]);
            //season[i].setOnClickListener(new myLisntener());
            season[i].setOnTouchListener(new touchListener());
        }
    }

    class touchListener implements View.OnTouchListener{

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (v.getId()) {
                case R.id.img1:
                    textView.setText("春");
                    break;
                case R.id.img2:
                    textView.setText("夏");
                    break;
                case R.id.img3:
                    textView.setText("秋");
                    break;
                case R.id.img4:
                    textView.setText("冬");
                    break;
            }
            return false;
        }
    }

//    class myLisntener implements View.OnClickListener {
//        @Override
//        public void onClick(View v) {
//            switch (v.getId()) {
//                case R.id.img1:
//                    textView.setText("春");
//                    break;
//                case R.id.img2:
//                    textView.setText("夏");
//                    break;
//                case R.id.img3:
//                    textView.setText("秋");
//                    break;
//                case R.id.img4:
//                    textView.setText("冬");
//                    break;
//            }
//        }
//    }

}

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:paddingTop="10dp"
        android:text="春困夏倦秋乏冬眠一年四季都犯困"
        android:textSize="25dp"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <HorizontalScrollView
        android:paddingTop="25dp"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/img1"
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:src="@mipmap/spring" />

            <ImageView
                android:id="@+id/img2"
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:src="@mipmap/summer" />

            <ImageView
                android:id="@+id/img3"
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:src="@mipmap/autumn" />

            <ImageView
                android:id="@+id/img4"
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:src="@mipmap/winter" />
        </LinearLayout>

    </HorizontalScrollView>
    <TextView
        android:id="@+id/tvinfo"
        android:layout_gravity="center"
        android:paddingTop="10dp"
        android:textSize="20dp"
        android:text="aaa"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值