Я хочу загрузить массив изображений один за другим из drawable. В заданное время ImageView должен отображать одно изображение при слайде пользователя, оно должно загружать следующее изображение.
Могу ли я получить это? Мне не нравится просмотр галереи, мне непосредственно нужно загрузить одно изображение, которое заполняет экран и скользит до конца массива.
Спасибо заранее за ваше время.
Поразмыслив часами, я придумал решение, так как ни один из ответов не помог мне.
Код Java
public class ImagePreviewActivity extends Activity implements OnClickListener {
public int currentimageindex=0;
private int[] IMAGE_IDS ={R.drawable.splash1, R.drawable.splash2, R.drawable.image_preview, R.drawable.report_incident_exclamation_mark};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.media_preview);
ImageView imageview = (ImageView)findViewById(R.id.ImageViewPreview);
imageview.setImageResource(R.drawable.splash1);
currentimageindex++;
imageview.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(500);
ImageView imageview = (ImageView)findViewById(R.id.ImageViewPreview);
imageview.startAnimation(inFromRight);
if ((IMAGE_IDS.length)> currentimageindex){
imageview.setImageResource(IMAGE_IDS[currentimageindex]);
currentimageindex++;
}
}
}
Взгляните на ImageSwitcher. Он должен соответствовать вашим потребностям.
Вы можете использовать ViewFilpper
или ViewSwitcher
или ImageSwitcher
для своих целей. Все эти классы расширяют ViewAnimator
, поэтому они имеют очень похожее поведение и функциональность и только добавляют несколько полезных функций поверх того, что есть ViewAnimator
.
У меня другое решение:
https://github.com/ysamlan/horizontalpager
Это ViewGroup, где вы можете добавить детей, при прокрутке влево или вправо вы покажете следующего или предыдущего ребенка в полноэкранном режиме. Он также написан так, что можно выполнить вертикальную прокрутку, если вам это нужно.