2017-05-14 45 views
1

我想制作一个网格视图库应用程序。当用户点击图像时,会显示完整图像。我只是无法理解我将如何实现ImageSlider并将图像保存到我现有项目中的图库中。与毕加索实施ImageSlider GridView

这是MainActivity:

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     GridView gridView = (GridView) findViewById(R.id.grid); 
     gridView.setAdapter(new ImageAdapter(this)); 

     gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Intent i = new Intent(getApplicationContext(),FullImageActivity.class); 
       i.putExtra("id", position); 
       startActivity(i); 
      } 
     }); 
    } 

这是我ImageAdapter包含图片:

public class ImageAdapter extends BaseAdapter { 
    ImageView imageView; 

    private Context context; 

    public String Images[] = {("http://www.fashionlady.in/wp-content/uploads/2016/03/creative-punjabi-mehndi-design-2016.jpg"), 
      ("https://lumiere-a.akamaihd.net/v1/images/uk_toystory_chi_woody_n_5b5a006f.png?region=0,0,300,300"), 
      ("https://lumiere-a.akamaihd.net/v1/images/open-uri20150422-20810-10n7ovy_9b42e613.jpeg"), 
      ("http://www.wetpaint.com/wp-content/uploads/2015/11/toy-story-20th-anniversary.jpg"), 
      ("http://i.imgur.com/4IZMjx3.jpg")}; 

    public ImageAdapter (Context c){ 
     context= c; }; 

    @Override 
    public int getCount() { 
     return Images.length; 
    } 

    @Override 
    public Object getItem(int position) { 
     return Images[position]; 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageview = new ImageView(context); 

     imageview.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageview.setLayoutParams(new GridView.LayoutParams(240,240)); 

     Picasso.with(context).load(Images[position]).placeholder(R.drawable.loading2).error(R.drawable.nointernet).into(imageview); 

     return imageview; 
    } 
} 

这是我FullImageActivity:

public class FullImageActivity extends AppCompatActivity { 

    TouchImageView img; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setTitle("ViewPager"); 

     setContentView(R.layout.activity_full_image); 


     Intent i = getIntent(); 
     TouchImageView img = new TouchImageView(this); 

     int position = i.getExtras().getInt("id"); 
     ImageAdapter adapter = new ImageAdapter(this); 
     List<ImageView> images = new ArrayList<ImageView>(); 

     img = (TouchImageView) findViewById(R.id.img); 
     images.add(img); 

     img.setMaxZoom(4f); 
     Picasso.with(getApplicationContext()).load(adapter.Images[position]).into(img); 

请帮助我。

+0

你与ViewPager和FragmentStatePager适配器试图使滑块? – FAT

+0

我试过查看传呼机。你能告诉我应该怎么做,因为你可以看到我有两个活动。我应该为ViewPager.Plz帮助 – Frankruss

回答