Androidアクティビティに複数の画像を追加したかっただけです。そして、次と前のボタンを使用してその画像をナビゲートする必要があります.複数の画像を保存する方法とそれらをナビゲートする方法を示すコードを教えてください。ありがとうございました。
2 に答える
1
最も簡単な解決策の 1 つは、ドローアブル ID を配列に格納し、そのうちの 1 つを 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 に答える