как установить параметры макета изображения в галерее в Android - PullRequest
1 голос
/ 07 июля 2011

Я хочу использовать галерею в Android, поэтому в классе адаптера я установил

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {

        ImageView iView = new ImageView(ctx);
        iView.setImageResource(pics[arg0]);
        iView.setScaleType(ImageView.ScaleType.FIT_XY);
        //iView.setLayoutParams(new Gallery.LayoutParams(150, 150));
        iView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        return iView;
    }

Таким образом, он перекрывает все мое изображение, он не отображается должным образом один за другим.

, но еслиЯ устанавливаю

iView.setLayoutParams(new Gallery.LayoutParams(150,150));

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

спасибо

Ответы [ 2 ]

1 голос
/ 11 января 2012

Возможно, вы могли бы использовать dp в вашем макете.Это потребует некоторого масштабирования, но сделает ваше приложение совместимым с устройствами.

final float scale = getResources().getDisplayMetrics().density;
int pixels = (int) ( DP_VALUE * scale + 0.5f);
iView.setLayoutParams(new Gallery.LayoutParams(pixels, pixels));

Вы можете выбрать подходящее значение для DP_VALUE с помощью пробного использования.

1 голос
/ 07 июля 2011

Посмотрите на галерею doc: http://developer.android.com/reference/android/widget/Gallery.html Вы можете использовать метод setSpacing для объекта галереи, чтобы заставить изображения не перекрываться.

...