2014-09-25 3 views
0

извините за мой английский. Когда изображение заполняет экран, я хочу сделать это, чтобы его можно было прокручивать. Для этого используйте ViewFlipper. Но это не работает. это класс, отображающий изображения в полноэкранном режиме. Что я делаю не так?не работает ViewFlipper

public class FullScreenImage extends Activity implements OnTouchListener{ 
    private ViewFlipper flipper = null; 
    private float fromPosition; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.full_screen); 
     Intent intent = getIntent(); 
     long imageId = intent.getExtras().getLong(FullScreenImage.class.getName()); 

     LinearLayout mainLayout = (LinearLayout) findViewById(R.id.main_layout); 
     flipper = (ViewFlipper) findViewById(R.id.fullImage); 
flipper.setOnTouchListener(this); 
     ImageView imageView = (ImageView) findViewById(R.id.imageView1); 

     imageView.setLayoutParams(new ViewFlipper.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT)); 

     imageView.setImageResource((int) imageId); 


    } 

    public boolean onTouch(View view, MotionEvent event) 
    { 
     switch (event.getAction()) 
     { 
     case MotionEvent.ACTION_DOWN: 
      fromPosition = event.getX(); 
      break; 
     case MotionEvent.ACTION_UP: 
      float toPosition = event.getX(); 
      if (fromPosition > toPosition) 
       flipper.showNext(); 
      else if (fromPosition < toPosition) 
       flipper.showPrevious(); 
     default: 
      break; 
     } 
     return true; 
    } 
} 

XML файл

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/main_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ViewFlipper 
      android:id="@+id/fullImage" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    </ViewFlipper> 

</LinearLayout> 

ответ

1

Ваш XML имеет только один член в плавник. Идея состоит в том, чтобы иметь два или элемента, и флиппер будет меняться между ними. Добавить еще одно изображение, как это к вашему плавник

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/main_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<ViewFlipper 
     android:id="@+id/fullImage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 


<ImageView 
    android:id="@+id/imageView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

</ViewFlipper> 

+0

спасибо за ответ! как добавить фотографии в ViewFlipper? Это не работает 'flipper.addView (((int) imageId, null);' и это не очень хорошая опция 'for (int view: ImageAdapter.ThumbsIds) { \t flipper.addView (view); }' but i . не знаю, как это сделать – nesalexy

+0

я понял, что делать, как это 'для (INT I = 0; я nesalexy

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