ScaleType в ImageView не работает

Я пытаюсь создать галерею изображений, используя ViewPager и NetworkImageView от Volley. Все работает нормально с просмотрщиком и получением изображений. Но когда я помещаю растровое изображение в NetworkImageView, изображение не растягивается, чтобы заполнить размер NetworkImageView. С моим другим ImageView установка scaleType работает просто отлично.

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="fitXY" />

Мой xml-файл

public static class SwipeFragment extends Fragment {

    ImageLoader imageLoader = AppController.getInstance().getImageLoader();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View swipeView = inflater.inflate(R.layout.swipe_fragment, container, false);
        NetworkImageView imageView = (NetworkImageView) swipeView.findViewById(R.id.imageView);
        Bundle bundle = getArguments();
        int position = bundle.getInt("position");
        if (imageLoader == null) {
            imageLoader = AppController.getInstance().getImageLoader();
        }
        imageView.setImageUrl(fotoUrl.get(position), imageLoader);
        return swipeView;

    }

    static SwipeFragment newInstance(int position) {
        SwipeFragment swipeFragment = new SwipeFragment();
        Bundle bundle = new Bundle();
        bundle.putInt("position", position);
        swipeFragment.setArguments(bundle);
        return swipeFragment;
    }
}

моя джава

Любая идея об этой проблеме? Я также пытался изменить scaleType на fitCenter, но все те же результаты. Заранее спасибо.


person user3576118    schedule 19.06.2016    source источник
comment
Это относится ко всем ImageView, которые с масштабированием ширины и высоты wrap_content не применяются. Не относится к ImageView от Volley.   -  person Arpit Ratan    schedule 19.06.2016


Ответы (1)


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

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/imageView"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:scaleType="fitXY" />

Когда вы говорите wrap_content, это означает, что вы просите, чтобы представление имело ту же высоту и ширину, что и изображение, поэтому масштабирование не применяется. Когда вы зафиксируете ширину и высоту, вы можете применить тип шкалы fitXY.

person Arpit Ratan    schedule 19.06.2016