Внутренняя обивка Spinner больше на Android 6.0.1
Вступление:
Похоже, что в новой версии Android 6.0.1 Android внес некоторые изменения в компонент Spinner, потому что по умолчанию внутренний отступ вокруг нижней моркови немного больше.
Я заметил это в приложении, где я ничего не изменил в коде, а просто обновил ОС на устройстве, и при этом счетчики имеют разные размеры.
Ситуация:
У меня есть 2 блесны один рядом с другим вRelativeLayout
(обратите внимание на остальные компоненты, я добавил все, чтобы вы могли видеть эту часть макета - убрал полностью ненужные свойства или просмотр идентификаторов)
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/container_for_buttons_on_the_right"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true">
<!-- Buttons here-->
</LinearLayout>
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/spinner_1"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ViewSwitcher
android:id="@+id/spinner_switch"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_toEndOf="@id/spinner_1"
android:layout_toLeftOf="@id/container_for_buttons_on_the_right"
android:layout_toRightOf="@id/spinner_1"
android:layout_toStartOf="@id/container_for_buttons_on_the_right"
android:inAnimation="@anim/fade_in"
android:outAnimation="@anim/fade_out">
<android.support.v7.widget.AppCompatSpinner
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- ImageView properties are incomplete but I need it there.-->
</ViewSwitcher>
</RelativeLayout>
Макет, используемый адаптером Spinner дляgetView()
метод это:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="48dp"
android:orientation="horizontal"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:singleLine="true"
tools:text="Test" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0"
android:gravity="center"
android:paddingLeft="4dp"
android:singleLine="true"
android:textColor="@color/text_primary"
android:textSize="@dimen/text_size_body"
tools:ignore="RtlHardcoded,RtlSymmetry"
tools:text="7%" />
</LinearLayout>
вышеописанное:
Скриншот состоит из двух отдельных снимков экрана:
Тот на вершине взят наНексус 5 устройство работает наAndroid 6.0Тот, что ниже, также взят наНексус 5 устройство НО работает наAndroid 6.0.1РЕДАКТИРОВАТЬ 1Использование AppCompatSpinner из библиотеки поддержки не меняет поведение. Используемая версия библиотеки поддержки23.1.1