giriş üzerinde büyüktür: Android 6.0.1 yeni sürümüyleSpinner iç dolgu Android 6.0.1
, Android gibi görünüyor çünkü varsayılan olarak Spinner bileşeni bazı değişiklikler etrafında iç dolgu yapılmış aşağı havuç biraz daha büyüktür.
Kodda hiçbir şeyi değiştirmediğim, ancak yalnızca aygıttaki işletim sistemini güncellediğim bir uygulamada fark ettim ancak iğneler farklı boyutlarda.
Durum:
Ben 2 iplikçiler biri (eğer düzen bu bölümünü görebilmek için her şeyi eklendi, bileşenlerin kalanını akla bir RelativeLayout
diğer yanında var - Tamamen gereksiz özelliklere kaldırıldı
<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>
: veya görünüm kimlikleri)
<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>
getView()
yöntemi için Spinner bağdaştırıcı tarafından kullanılan düzeni bu
Örnek olarak: ekran alınan 2 ayrı ekran birleştirilmiştir
:
üstüne bir Android 6.0-
aşağıdaki gibi bir
Nexus 5 cihazında AMA ALINMIŞTIRILMIŞ AMA
Android 6.0.1davranışını değiştirmez destek kütüphanesinden AppCompatSpinner kullanma
- DÜZENLEME 1
. Kullanılan destek kitaplığı sürümü 23.1.1
Dalgalanma efektini görüntülerken bir hatayı önlemek için aşağı karetin etrafına daha fazla dolgu eklememiz gerekti. Sabit bir boyuta ihtiyacınız varsa, çerçeveyi arka plandan kopyalayın ve bunu kullanın ya da AppCompat kullanın. – alanv
AppCompat kullanıyorum :). O dolgu maddesinin tam boyutunun ne olduğunu söyleyebilir misiniz? Bana 8 ya da 10 gibi mi geliyor? – Mike
12dp uç dolgu ve sabit bir 48dp son hizalama boşluğu, etkin bir şekilde başlangıç yastığının 12dp'si. Doğrudan Android SDK dizininde 'platformlar/android-23/data/res/drawable/spinner_background_material.xml' altından kontrol edebilirsiniz. – alanv