我有RecyclerView
与GridLayoutManger
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.movie_posters_recycler_view);
recyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
每个RecyclerView的项目由以下布局表示
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/movie_item_poster_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true" />
</FrameLayout>
目前我有这样的结果
我想做这个
用这个替换你的图像视图
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/movie_item_poster_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true" />
请添加scaltype到您的适配器中的图像视图到fitxy
看看这个答案:https://stackoverflow.com/a/26575808/4729523。
您只需要保持图像的纵横比(3/4或9/16)。
在android:scaleType="fitXY"
属性中使用ImageView
应该在ImageView
内拉伸图像。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/movie_thumbnail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
</FrameLayout>
这应该工作