У меня много проблем с адаптивным дизайном Android.В веб-дизайне мы можем использовать процент в качестве размера просмотра, но в Android у нас нет такой вещи.Независимо от того, что я использую ImageButtons или обычные кнопки или что-то еще, когда я меняю «устройство для предварительного просмотра», мой дизайн отверстий будет грязным, потому что ширина и высота не будут изменяться динамически, например, я делаю все хорошо на устройстве Pixel, но когда я меняю свойПредварительный просмотр до пикселя 2 XL каждая вещь такая маленькая.Спорим, ты не хочешь знать, что происходит, когда я меняю предварительный просмотр на износ: D
Я должен упомянуть, что я знаю, что не должен использовать жестко закодированные значения, и я не делаю это много.Я разработал свои кнопки с помощью Adobe XD, и с помощью этого инструмента я мог экспортировать свои кнопки в формате PNG и шести различных размерах (ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi).Но даже мои ImageButtons не меняли свои размеры динамически.Я пытался найти решение, и я уверен, что должно быть решение, но, возможно, из-за моего плохого английского, когда я ищу Android-адаптивный дизайн или такие вещи, я получаю некоторые несвязанные результаты.
Я действительно ценю некоторую помощь
Вот некоторый пример кода, размеры ImageButtons не будут динамически изменяться, поэтому в небольших устройствах, таких как pixel I, есть возможность прокрутки, но в более крупных устройствах, таких как pixel 3 XL, кнопки настолько малы, что нет необходимости прокручивать их.
<HorizontalScrollView
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_marginTop="32dp"
app:layout_constraintTop_toBottomOf="@+id/button" android:layout_marginBottom="32dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" android:scrollbars="none"
>
<LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent">
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/all_foods_btn" android:background="@android:color/transparent"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:contentDescription="@string/main_activity_all_foods_btn_dsc"/>
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/profile_btn_main" android:background="@android:color/transparent"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:contentDescription="@string/main_activity_profile_btn_dsc"/>
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/classic_decider_btn" android:background="@android:color/transparent"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"
android:contentDescription="@string/main_activity_classic_decider_btn_dsc"/>
</LinearLayout>
</HorizontalScrollView>