Мой проект включает 6 иконок на tabLayout
. Все они вкладываются во tabs
программно, а не с помощью ImageView
из layout
. Теперь необходимо увеличить размер этой иконки для экрана планшета.
Я пробовал так много вещей; попытался увеличить размер иконки, пробовал layout_ width
и layout_height
tabItems. Но это все не сработало.
Как я могу увеличить размер значков на tabLayout? Надеюсь, что кто-то может помочь мне в этом.
Result_Activity.java
private Integer[] images;
Integer[] domesticImages = {
R.drawable.ic_directions_bus_black_24dp,
R.drawable.ic_flight_takeoff_black_24dp,
R.drawable.ic_directions_boat_black_24dp,
R.drawable.ic_train_black_24dp,
R.drawable.ic_hotel,
R.drawable.ic_rent_a_car
};
private Integer[] domesticImagesClicked = {
R.drawable.ic_directions_bus_clicked_24dp,
R.drawable.ic_flight_takeoff_clicked_24dp,
R.drawable.ic_directions_boat_clicked_24dp,
R.drawable.ic_train_clicked_24dp,
R.drawable.ic_hotel_clicked,
R.drawable.ic_rent_a_car_clicked
};
activity_result.xml
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_below="@+id/rl_Detail"
android:background="#F4E6CA"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:tabBackground="?attr/selectableItemBackgroundBorderless"
app:tabIndicatorColor="@android:color/transparent"
app:tabPaddingEnd="15dp"
app:tabPaddingStart="15dp">
<android.support.design.widget.TabItem
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:saveEnabled="true" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<android.support.design.widget.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</android.support.design.widget.TabLayout>
Вы можете указать другой набор ресурсов (папка для рисования) для настройки планшета.
Для планшетов вам понадобится еще одна папка для рисования, которая называется drawable-sw600dp.
Как определено в поддержке различных размеров экрана и альтернативных ресурсов приложения
Другим способом было бы создать собственный вид для ваших вкладок.
Вы можете создать макет для пользовательской вкладки для планшетов.
Затем запустите макет программно и установите его с помощью tab.setCustomView(customView)
.
Вы можете сделать это только в случае планшетов.
Если вы хотите использовать разные размеры значков для разных размеров экрана, вам, вероятно, понадобится любой из этих:
1. Создайте разные изображения с нужным размером и поместите их в соответствующие папки, так как в Android есть папки для рисования для каждой плотности точек на дюйм, посмотрите: Android Studio: Drawable Folder: Как поместить изображения для нескольких точек на дюйм?
2 - Если значки простые, вы можете использовать векторные значки, так как они могут изменять свой размер, чтобы соответствовать любому размеру экрана, который вам нужен. Взгляните на: https://developer.android.com/studio/write/vector-asset-studio
3 - Вы можете проверить, является ли устройство планшетом, и программно изменить размер значков, что будет зависеть от того, как вы добавляете значки. Вы можете проверить это, используя следующий код:
public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & 0xF) >= 3; }
или вы можете проверить различные способы сделать это здесь: определить, является ли устройство смартфоном или планшетом?
Если ни один из этих методов не помогает, есть официальное подробное руководство: https://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts