2013-08-18 6 views
0

У меня есть активность с некоторыми изображениями, и я использую салфетки для загрузки следующего изображения. Мне нужно, когда я коснусь изображения, чтобы показать кнопку, для экономии изображения. Как я могу это сделать? Вот мой код:Как показать кнопку на экране прикосновением, сохраняя при этом салфетки?

public class Photo_gallery extends Activity{ 


    protected void onCreate(Bundle savedInstanceState) { 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.photo_gallery); 

     ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); 
     ImagePagerAdapter adapter = new ImagePagerAdapter(); 
     viewPager.setAdapter(adapter); 

    } 

    private class ImagePagerAdapter extends PagerAdapter { 
     private int[] mImages = new int[] { 
      R.drawable.p1, 
      R.drawable.p2, 
      R.drawable.p3, 
      R.drawable.p4, 
      . 
      . 
      . 
      R.drawable.p108 
     }; 


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


     public boolean isViewFromObject(View view, Object object) { 
      return view == ((ImageView) object); 
     } 


     public Object instantiateItem(ViewGroup container, int position) { 
      Context context = Photo_gallery.this; 
      ImageView imageView = new ImageView(context); 
      int padding = context.getResources().getDimensionPixelSize(
       R.dimen.padding_medium); 
      imageView.setPadding(padding, padding, padding, padding); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
      imageView.setImageResource(mImages[position]); 
      ((ViewPager) container).addView(imageView, 0); 
      return imageView; 
     } 


     public void destroyItem(ViewGroup container, int position, Object object) { 
      ((ViewPager) container).removeView((ImageView) object); 
     } 
     } 

    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 

    } 


} 

EDIT:

Мой XML код:

<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/view_pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

ответ

1

Если вы просто хотите, чтобы показать кнопку на экране при нажатии на изображение, вы можете положить в вашем макете с параметром android:visibility="gone".

Затем, когда пользователь нажимает на изображение (просто поставьте OnClickListener() для ImageView), позвоните button.setVisibility(View.VISIBLE);, чтобы показать кнопку. Затем, когда пользователь выполняет любое другое действие, и вы хотите снова скрыть кнопку, вызовите button.setVisibility(View.GONE);

+0

Я использую ViewPager, поэтому я не могу добавить кнопку. Я не использую imageView – marjanbaz

+0

Правильно, извините ViewPager. Тем не менее должна применяться одна и та же логика. Вы вызываете 'setContentView (R.layout.photo_gallery);'. По какой причине вы не можете добавить кнопку в этот макет? – Shadesblade

+0

Я пробовал, но не могу. Я изменил свой первый пост, чтобы добавить свой XML-код. – marjanbaz