Android Как отобразить изображение списка - PullRequest
0 голосов
/ 04 апреля 2011

Привет всем
Я разрабатываю свое приложение. И мне нужна твоя помощь:

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

Пожалуйста, предложение: как это сделать?
Большое спасибо!

1 Ответ

0 голосов
/ 04 апреля 2011

Я думаю, что использование Галерея - лучший вариант.

public class GalleryExample extends Activity {

  private Gallery gallery;
  private ImageView imgView;

  private Integer[] Imgid = {
    R.drawable.a_1, R.drawable.a_2, R.drawable.a_3, R.drawable.a_4, R.drawable.a_5,
    R.drawable.a_6, R.drawable.a_7
  };

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    imgView = (ImageView)findViewById(R.id.ImageView01);
    imgView.setImageResource(Imgid[0]);

    gallery = (Gallery) findViewById(R.id.examplegallery);
    gallery.setAdapter(new AddImgAdp(this));

    gallery.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView parent, View v, int position, long id) {
        imgView.setImageResource(Imgid[position]);
      }
    });

  }

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

    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]);
      imgView.setLayoutParams(new Gallery.LayoutParams(80, 70));
      imgView.setScaleType(ImageView.ScaleType.FIT_XY);
      imgView.setBackgroundResource(GalItemBg);

      return imgView;
    }
  }
}

Добавить изображение к imageArray и вызвать метод notifyDataSetChanged() на экземпляре адаптера. Для получения дополнительной информации перейдите по этой ссылке здесь .

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