2012-04-16 2 views
0

Я использую полноэкранную галерею в своем проекте, а в галерее я использую поддерживающий базовый адаптер галереи Теперь мне нужно сделать галерею отключенной/остановить прокрутку галереи, пока всплывающее окно не появится на кнопке нажмите Может ли кто-нибудь помочь мне в этом вопросе?Отключить галерею, пока не появится всплывающее окно

-> Ниже приведен фрагмент, который используется базовым адаптером для галереи и нерасширяющейся галереи.

public class SubItemSelectedImageAdapter extends BaseAdapter { 

    int mGalleryItemBackground; 
    private Context mContext; 
    private String[] mImageIds; 
    ImageView[] mImages; 

    public SubItemSelectedImageAdapter(Context c, String[] mImageIds2) { 

     mImageIds = mImageIds2; 
     mImages = new ImageView[mImageIds.length]; 
     mContext = c; 
     TypedArray attr = mContext 
       .obtainStyledAttributes(R.styleable.HelloGallery); 
     attr.recycle(); 
    } 

    public int getCount() { 
     return mImageIds.length; 
    } 

    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 


     return position; 
    } 


    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 

     ImageView imageView = new ImageView(mContext); 

     imageView.setImageURI(Uri.fromFile(new File(mImageIds[position]))); 
     imageView.setLayoutParams(new Gallery.LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 

     return imageView; 
    } 
} 

public void afterTextChanged(Editable s) { 
    // TODO Auto-generated method stub 

} 

public void beforeTextChanged(CharSequence s, int start, int count, 
     int after) { 
    // TODO Auto-generated method stub 

} 

public void onTextChanged(CharSequence s, int start, int before, int count) { 
    // TODO Auto-generated method stub 

} 

}

и delaring объект Галерея и refrence его из XML ...

// full screen gallery implementation. 
    ImageAdapter = new SubItemSelectedImageAdapter(this, data); 
    Gallery gallery = (Gallery) findViewById(R.id.gallery); 

    gallery.setAdapter(ImageAdapter); 
+0

эй использовать setOnTouchListener (это) и реализовать метод и всякий раз, когда сенсорный появляться на виду обрабатывать его в ontouch по возвращении flase ..might решить вашу проблему или другой способ вы можете пойти на то, что продолжается галерея и переопределить метод onFling и использовать андроид: onscroll = "false" решит вашу проблему и сообщит мне –

+0

Я не могу продлить галерею, поэтому, если я поеду на ур 1-й ответ, чтобы реализовать setontouchlistner (это), как я могу отключить прокрутку галереи когда отображается всплывающее окно – unkown

+0

эй, почему вы не можете расширять галерею или вместо этого использовать метод onfling и сделать свой код до тех пор, пока не отобразите всплывающее окно ... например, есть статический булевский popupStatus = false; "\ n" while (! popupstatus) {} за то, что вы должны расширять галерею, я думаю .... –

ответ

1
use setOnTouchListener() of gallery as below and use flag for the enable disable process 
- on popup being display make flag false and when there is no popup being displayed make flag false. 
- code is as below: 
gallery.setOnTouchListener(new OnTouchListener() 
{ public boolean onTouch(View v, MotionEvent event) 
{ // TODO Auto-generated method stub 
if(flag==true){ return false; 
}else{ 
return true; 
} 
} 
}); 
0

В отображаемом на кнопке Click Event можно отключить Галерею, код ниже.

gallery.setEnabled(false); 

Это сделает его не кликабельным, и его нельзя прокручивать. , когда вы сделали свое всплывающее окно, разрешено.

gallery.setEnabled(true); 
+0

это не работает i попробовал :( – unkown

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