Android - открыть выбранное изображение в режиме просмотра? - PullRequest
1 голос
/ 03 января 2012

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

Но я не могу понять, как именно. Может ли кто-нибудь помочь?

EDIT: Моя галерея не загружается с SD-карты. Он генерируется с фотографиями из каталога ресурсов внутри приложения.

Мой код:

import dk.appsfabrikken.iphonetabs.R;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;

public class CombarActivity extends Activity {
    private Gallery gallery;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.combar);

        //Knapper instantieres
        Button butMarked = (Button)findViewById(R.id.btmarket);

        //Opretter on click listerner til enkelt klik
        butMarked.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
            onclick_btmarket();

            }
        });

        //Gallery findes på layout
        gallery = (Gallery) findViewById(R.id.gallery1);
        gallery.setAdapter(new AddImgAdp(this));

        //Onlick listerner oprettes
        gallery.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        }
        });

        }

        public class AddImgAdp extends BaseAdapter {
        int GalItemBg;
        private Context cont;

        // Tilføjer billeder til gallery
        private Integer[] Imgid = {
        R.drawable.combar2, R.drawable.combar1};

        public AddImgAdp(Context c) {
        cont = c;
        TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme);
        GalItemBg = typArray.getResourceId(R.styleable.GalleryTheme_android_galleryItemBackground, 0);
        typArray.recycle();
        }

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

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

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

        public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imgView = new ImageView(cont);

        imgView.setImageResource(Imgid[position]);
        // Tilpasser højde og bredde for billeder i gallery. Tester skærmstørrelse og tilpasser.
        if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {
            imgView.setLayoutParams(new Gallery.LayoutParams(110, 170));
        }
        else{
        imgView.setLayoutParams(new Gallery.LayoutParams(220, 340));
        }
        imgView.setScaleType(ImageView.ScaleType.FIT_XY);
        imgView.setBackgroundResource(GalItemBg);

        return imgView;
        }
        }
        //Udfører opgave for click på knap
        private void onclick_btmarket() {
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://market.android.com/details?id=dk4.ef.cms"));
            startActivity(browserIntent);}

            ;

        }

Спасибо заранее.

1 Ответ

0 голосов
/ 03 января 2012

Вот учебник, который показывает, как именно выполнить то, что вы ищете.

Пример галереи с изображением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...