私はスピナーを持っており、デフォルトでは余分な空白がありますテキストとドロップダウンアイコンは本当に気に入らないので、削除したいと思います。
Webで検索しようとしましたが、役立つものは何も見つかりませんでした。以前にそれをした人はここにいますか?
スピナーで遊んだ後、自分でやった。これがかなりうまくいった解決策です。
まず、選択したインジケーター画像を使用してドロップダウンを作成します。
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape
Android:shape="rectangle"/>
</item>
<item
Android:width="24dp"
Android:height="24dp"
Android:gravity="right|center_vertical">
<bitmap
Android:src="@drawable/ic_dropdown"
Android:tint="@color/colorPrimaryDark"/>
</item></layer-list>
次に、それをスピナーの背景に割り当てます。
<Spinner
Android:id="@+id/basket_spinner_item_quantity"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:spinnerMode="dropdown"
Android:padding="0dp"
Android:background="@drawable/ic_spinner_dropdown"/>
次に、要件に応じてスピナーアイテムのパディングと配置を調整します。
<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/simple_spinner_text_quantity"
Android:paddingTop="5dp"
Android:paddingBottom="5dp"
Android:paddingLeft="20dp"
Android:paddingRight="25dp"
Android:gravity="right"
Android:textAlignment="gravity"/>
クイックフィックス
Android:layout_marginStart="-40dp"
必要に応じて、負のマージンでプレイします。あなたの中にスピナーアイテムxml
何らかの理由でpadding:20dp
を与えることで問題は解決しました。また、translationX
の値を試して、ドロップダウンアイコンの位置を調整します。最後に、layout_marginLeft
とlayout_marginRight
を使用して、ドロップダウン全体をそれに応じて移動できます。
スピナーxml要素に次の属性を追加するだけです。
API <17の場合:
Android:gravity="right"
API => 17の場合:
Android:gravity="end"
クイックフィックスには以下のコードを使用してください
<Spinner
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginLeft="-9dp"
Android:layout_marginTop="10dp"
Android:entries="@array/almanac"
Android:gravity="left"
Android:padding="0dp"
Android:spinnerMode="dropdown"
Android:layout_marginStart="-9dp" />