Как можно увеличить размер значков на вкладке Элементы?

1

Мой проект включает 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>
Теги:
android-tablayout
android-icons

2 ответа

0

Вы можете указать другой набор ресурсов (папка для рисования) для настройки планшета.

Для планшетов вам понадобится еще одна папка для рисования, которая называется drawable-sw600dp.

Как определено в поддержке различных размеров экрана и альтернативных ресурсов приложения

Другим способом было бы создать собственный вид для ваших вкладок.

Вы можете создать макет для пользовательской вкладки для планшетов.

Затем запустите макет программно и установите его с помощью tab.setCustomView(customView).

Вы можете сделать это только в случае планшетов.

  • 0
    Я уже сделал рисованную папку. Моя проблема не может увеличить размер значка. Как я могу создать собственный вид? Я пытался создать текстовый вид, но это не сработало.
0

Если вы хотите использовать разные размеры значков для разных размеров экрана, вам, вероятно, понадобится любой из этих:

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

  • 1
    Спасибо. Я уже делаю 1-й и 2-й. Но, 3-й и другой вы написали. Это может работать для меня. Я попытаюсь. Я подпишу отметку вашего ответа после того, как решу проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню