2016-09-14 3 views
0

Мне нужно сделать слайд-шоу, которое переключается с разных растровых изображений (где битмап пришел из пути изображения, в котором я преобразовал его в изображение). Я хочу сделать это в ViewFlipper только с одним ImageView. Мне действительно нужно это, пожалуйста, помогите.ViewFlipper только с одним ImageView

+0

«Я хочу сделать это в ViewFlipper только с одним ImageView» - AFAIK, это действительно невозможно. Точка за «ViewFlipper» - это переключение между несколькими видами. – CommonsWare

+0

@CommonsWare Я смотрел онлайн-видео в Youtube о том, как сделать слайд-шоу, и он использует ViewFlipper. Если это невозможно, как можно сделать слайд-шоу с использованием растровых изображений. Пожалуйста, помогите Im застрял. –

+0

«Я смотрел онлайн-видео на Youtube о том, как сделать слайд-шоу, и он использует ViewFlipper» - да, но, по-видимому, он использует два или более виджета ImageView. Что заставляет вас думать, что нужно использовать только один виджет «ImageView»? – CommonsWare

ответ

0

Вы должны создать ImageView динамически:

viewFlipper = (ViewFlipper) findViewById(R.id.flipper); 
for(int i=0;i<image_array.length;i++) 
     { 
     ImageView image = new ImageView(getApplicationContext()); 
     image.setBackgroundResource(res); 
     viewFlipper.addView(image); 
     } 

Таким образом, вы можете избежать создания нескольких imageviews в XML-файле.

Другое решение:

Создать ViewFlipper только один ImageView в XML-файле:

 <ViewFlipper 
      android:id="@+id/vf" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 

      <RelativeLayout 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       > 

       <ImageView 
        android:id="@+id/image_flipper" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerHorizontal="true" 
        android:src="@drawable/ic_launcher" /> 

      </RelativeLayout> 
    </ViewFlipper> 

Учитывая у вас есть кнопка, которая будет загружать следующее изображение, напишите следующий код в OnClick:

int current_image=0; 
ImageView imageView = (ImageView) findViewById(R.id.image_flipper); 
f_next.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       current_image++; 
       imageView.setImageResource(image_array[current_image]); 
       viewFlipper.showNext(); 
      } 
     }); 
+0

Да, я уже пробовал это, но следующее изображение не появляется. –

+0

проверить отредактированный ответ – kgandroid

+0

, пожалуйста, проверьте, правильно ли вы получаете изображение с пути к изображению или нет. – kgandroid

Смежные вопросы