Изображение GridView отображать большое изображение, когда пользователь нажимает

1

Я кодирую изображение gridview в андроиде, и я хотел бы расспросить вас о том, как показывать большое изображение, когда пользователь нажимает на маленькое изображение в gridview и как я могу сделать gridview доступным для прокрутки путем прокрутки, потому что в моей галерее много изображений.

Вот мой код:

public class myalbum extends Activity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.myalbum);

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

    gridView.setOnItemClickListener(new GridView.OnItemClickListener() 
    {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
        {                
            //Here I want to see Large Image???? How can i do?????
            Toast.makeText(myalbum.this, "" + position, Toast.LENGTH_SHORT).show();
        }
    });        
}

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

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

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

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

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

    HashMap<Integer, Matrix> mImageTransforms = new HashMap<Integer,Matrix>();
    Matrix mIdentityMatrix = new Matrix();
    //---returns an ImageView view---
 // create a new ImageView for each item referenced by the Adapter
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {  // if it not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(88, 88));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(2, 2, 2, 2);
        } else {
            imageView = (ImageView) convertView;
        }

        Matrix m = mImageTransforms.get(position);
        if ( null == m ) {
            m = mIdentityMatrix;
        }
        imageView.setImageMatrix(m);
        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

    void setImageRotation(int position, int degrees) {
        Matrix m = mImageTransforms.remove(position);        
        if ( degrees != 0 ) {
            if ( null == m ) m = new Matrix();
            m.setRotate(degrees);
            mImageTransforms.put(position, m);
        }
        notifyDataSetChanged();
    }

    private Integer[] mThumbIds = {
            R.drawable.p1, R.drawable.p2,
            R.drawable.p1, R.drawable.p2,
            R.drawable.p1, R.drawable.p2,
            R.drawable.p1, R.drawable.p2,
            R.drawable.p3, R.drawable.p4
    };
  }
}

С наилучшими пожеланиями, Вирак

Теги:

1 ответ

1
Лучший ответ

На самом деле я не могу получить то место, где вы действительно хотите отображать изображение. Кстати, вам нужно добавить представление сетки в FrameLayout, после чего вы можете создавать на макете программно (с прозрачным цветом фона) добавить изображениеViewView таким же образом и добавить этот макет к вашему frameLayout и по щелчку изображения вы можете установить его видимость для видимого, поэтому он отображает изображение поверх вашего вида сетки, поскольку вы просто просматриваете изображения на FB и предоставляете кнопку закрытия, которая устанавливает видимость этого макета для Gone.

Надеюсь, это вам поможет. дайте мне знать, если возникнут какие-либо проблемы..

  • 0
    Уважаемый Джей, я хочу, чтобы изображение на GrideView могло щелкать .. и после щелчка полный размер изображения будет отображаться в верхней части этого же действия.
  • 0
    Итак, где проблема, изображение, которое вы хотите предоставить этому представлению изображения в макете, решает вашу проблему. объяснение, данное вам, поможет вам сделать то, что вы хотите.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню