-3

我只是想将多个图像添加到 android 活动中。而且我将不得不使用下一个和上一个按钮来导航这些图像。只需帮助我编写如何存储多个图像以及如何导航它们的代码?谢谢你。

4

2 回答 2

1

最简单的解决方案之一是将可绘制 ID 存储在数组中并在 ImageView 中显示其中一个。看这个。

public class MainActivity extends Activity implements View.OnClickListener {

    private static final int PREV_BUTTON_ID = 0;
    private static final int NEXT_BUTTON_ID = 1;

    private ImageView mImage;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mImage = (ImageView) findViewById(R.id.image);
        mImage.setImageResource(getFirstImageId());

        Button prevButton = (Button) findViewById(R.id.btnPrev);
        prevButton.setId(PREV_BUTTON_ID);
        prevButton.setOnClickListener(this);

        Button nextButton = (Button) findViewById(R.id.btnNext);
        nextButton.setId(NEXT_BUTTON_ID);
        nextButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case PREV_BUTTON_ID:
                mImage.setImageResource(getPrevImageId());
                break;
            case NEXT_BUTTON_ID:
                mImage.setImageResource(getNextImageId());
                break;
            default:
                break;
        }
    }

    private static final int[] sImages = { R.drawable.image1, R.drawable.image2, R.drawable.image3 };

    private int mCurrentImageId;

    private int getFirstImageId() {
        return sImages[mCurrentImageId];
    }

    private int getNextImageId() {
        mCurrentImageId++;

        if (mCurrentImageId > sImages.length - 1) {
            mCurrentImageId = sImages.length - 1;
        }

        return sImages[mCurrentImageId];
    }

    private int getPrevImageId() {
        mCurrentImageId--;

        if (mCurrentImageId < 0) {
            mCurrentImageId = 0;
        }

        return sImages[mCurrentImageId];
    }
}

布局是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Prev"
            android:id="@+id/btnPrev"
            android:layout_gravity="center_vertical"/>
    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/image"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:scaleType="center"
            android:focusableInTouchMode="false"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Next"
            android:id="@+id/btnNext"
            android:layout_gravity="center"/>
</LinearLayout>
于 2013-03-30T13:35:45.960 回答
0

要实现图像导航,您可以使用官方的Android ViewPager

但是,您可能会喜欢 Jake Wharton 提供的更加定制的ViewPagerIndicator

另外,您可以从这个现有的StackOverflow 问题中获得很多帮助。

于 2013-03-30T13:58:57.673 回答