zoukankan      html  css  js  c++  java
  • Android 单击图片切换效果

    新建一个Android项目,命名为FrameLayout

    此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件

    1.布局主页面代码activity_main.xml↓

    <FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#897753"
    >
    <ImageView
    android:id="@+id/image1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:visibility="visible"
    android:src="@drawable/a"/>
    <ImageView
    android:id="@+id/image2"
    android:visibility="invisible"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/b"/>
    <ImageView
    android:id="@+id/image3"
    android:visibility="invisible"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/c"/>

    </FrameLayout>

    2.Java代码MainActivity.Java

    package com.example.framelayout;

    import java.util.ArrayList;
    import java.util.List;

    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.ImageView;

    public class MainActivity extends Activity {
    private String TAG = "FramLayoutTestActivity";
    private ImageView image1;
    private ImageView image2;
    private ImageView image3;
    private List<ImageView> list;

    private int count = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    image1 = (ImageView) findViewById(R.id.image1);
    image2 = (ImageView) findViewById(R.id.image2);
    image3 = (ImageView) findViewById(R.id.image3);
    list = new ArrayList<ImageView>();
    list.add(image1);
    list.add(image2);
    list.add(image3);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
    Log.i(TAG, "move---");
    showImage();
    }

    return super.onTouchEvent(event);
    }

    private void showImage() {
    //image1.setVisibility(View.VISIBLE);
    count = count % 3;
    for (ImageView i : list) {
    i.setVisibility(View.INVISIBLE);
    }
    list.get(count).setVisibility(View.VISIBLE);
    count++;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }
    }

    3.使用Android模拟器或者连接Android智能手机运行项目,点击程序界面,图片自动切换。

    ps: activity_main.xml文件中几个ImageView中的src链接图片需要从外部复制到项目中的res/drawable目录下

  • 相关阅读:
    Error[e46]: Undefined external "?V1" referred in AF
    总是遇到奇怪问题一
    BrokenPipeError: [Errno 32] Broken pipe
    Segment BANKED_CODE must be defined in a segment definition option (-Z, -b or -P)
    使用jupyter打开已存在的ipynb文件
    时钟控制命令
    中断系统以及外部中断
    pytorch上的循环层和全连接层操作
    02池化层
    距离毕业还有---100天
  • 原文地址:https://www.cnblogs.com/_ymw/p/3715219.html
Copyright © 2011-2022 走看看