Я разрабатываю приложение, как Галерея изображений с изображениями из сети. Все изображения имеют одинаковую ширину 200px
и высоту 280-300px
. Я использую RecyclerView
с Adapter.ViewHolder
и GridLayoutManager
с количеством пролетов = 2. Загрузка изображений с помощью библиотеки Picasso
.Как сделать приложение галереи изображений похожим на ВСЕ разные размеры экрана?
item_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tile_picture"
android:layout_width="match_parent"
android:layout_height="260dp"
android:layout_margin="1dp"
android:scaleType="centerCrop"/>
На моем устройстве 5" 720x1280
это выглядеть хорошо. Screenshot Но когда я запускаю приложение на других устройствах, это выглядит не очень хорошо ... На 5.5" 1080x1920
есть дополнительные поля между изображениями. На старом 3.7" 480x800
есть только один пролет, ширина бит больше, чем размер на половину экрана. Я предлагаю, потому что android:layout_height="260dp"
hardcoded. Итак, как я могу получить одинаковый вид на разных устройствах?
Спасибо за идею. Вместо этого я просто попробовал '@Override public TopViewHolder onCreateViewHolder (родительский элемент ViewGroup, int viewType) { View view = LayoutInflater.from (mContext) .inflate (R.layout.main_tile_item, parent, false); int width = (parent.getMeasuredWidth()/2) - 4; int height = (int) (ширина * 1,5); view.setMinimumHeight (высота); вернуть новый TopViewHolder (просмотреть); } 'И кажется, что это работает! –