0

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

JAVA代码:

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 代码:

<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>
4

1 回答 1

0

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

于 2019-08-27T19:45:57.433 回答