我只是想将多个图像添加到 android 活动中。而且我将不得不使用下一个和上一个按钮来导航这些图像。只需帮助我编写如何存储多个图像以及如何导航它们的代码?谢谢你。
问问题
353 次
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 回答