如何使用ImageSwitcher,Android Eclipse显示多张图片?

时间:2016-03-17 18:35:37

标签: java android eclipse imageswitcher

我正在尝试让应用程序显示包含在项目的可绘制文件中的5张图片,我需要当用户点击“下一步”按钮第一次显示第一张图片时他点击第二张显示第二张图片等等。但当他点击“返回”按钮时,前一张图片显示出来,例如用户点击4次“下一步”按钮,然后当他点击“返回”按钮时,它会显示第三张图片,依此类推。

JAVA CODE:

package com.example.tables;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity implements ViewFactory{

ImageSwitcher imgS;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imgS=(ImageSwitcher)findViewById(R.id.imageSwitcher1);
    imgS.setFactory(this);

    Animation inShow=AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
    imgS.setInAnimation(inShow);

    Animation outShow=AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);
    imgS.setOutAnimation(outShow);
}

@Override
public View makeView() {

    ImageView tableImage=new ImageView(getApplicationContext());
    tableImage.setScaleType(ImageView.ScaleType.FIT_CENTER);///mal2 alcenter

    tableImage.setLayoutParams(new ImageSwitcher.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT , ActionBar.LayoutParams.WRAP_CONTENT));

    return tableImage;
}


public void buttonNext(View view){
    imgS.setImageResource(R.drawable.i);
}

public void buttonBack(View view){
    imgS.setImageResource(R.drawable.ii);
     }
}

XML CODE:

<RelativeLayout xmlns:android="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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.tables.MainActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

            <RadioButton
                android:id="@+id/radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Reserve table" />

            <TextView
                android:id="@+id/selectTableViewText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="12sp"
                android:textColor="#f00"
                android:layout_marginLeft="30dp"
                android:text="Please check the button up to Reserve the table">
            </TextView>

        <ImageSwitcher
            android:id="@+id/imageSwitcher1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

        </ImageSwitcher>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Next" 
                android:onClick="buttonNext"
                android:layout_weight="1"/>

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Back"
                android:onClick="buttonBack" 
                android:layout_weight="1"/>

        </LinearLayout>

    </LinearLayout>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

制作图像阵列,然后将其添加到图像切换器。您还需要添加某种类型的当前索引常数变量,以便可以索引切换