web-dev-qa-db-ja.com

Android-スピナードロップダウン矢印を削除

単にスピナーのドロップダウン矢印を削除することはまったく可能かどうか疑問に思っていますか?スピナーの背景レイアウトに描画可能な矢印がありますが、システムのデフォルトの矢印はスピナーの右側に表示されます。

これが私のアクティビティレイアウトのスピナーxmlコードです

<Spinner
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:id="@+id/spinnerSelectStaff"
            Android:layout_gravity="center_horizontal"
            Android:layout_marginLeft="18dp"
            Android:layout_marginRight="18dp"
            Android:gravity="center"
            Android:dropDownSelector="@drawable/empty"/>

カスタムスピナーレイアウトは次のようになります。

<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
          Android:id="@Android:id/text1"
          Android:layout_width="match_parent"
          Android:layout_height="wrap_content"
          Android:layout_margin="5dp"
          Android:gravity="center"
          Android:textSize="20sp"
          Android:background="@drawable/spinner_text_shape"
          Android:drawableRight="@drawable/ic_keyboard_arrow_down_black_24dp"
          Android:textColor="@color/primary_text" />

ありがとう!

32
Metalor

これはあなたを助けるかもしれません

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style parent="@Android:style/Widget.Spinner" name="SpinnerwithNoArrow">
        <item name="Android:background">@Android:drawable/edit_text</item>
    </style>
</resources>

ウルスピナーでこのスタイルを使用する

16
Prabhuraj

特定のスタイルを宣言したくない場合、レイアウトxmlファイルのバックグラウンド@nullもトリックを行います。

        <Spinner
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:background="@null"/>
97
Galya

この簡単な方法を試してください:

Android:background="@Android:color/transparent"
5
Nimisha V

どちらの答えも私には役に立たなかったので、ここでは非常にシンプルな1行のソリューションが機能しました。

  //some spinner initialisation stuff->
mySpinner.setAdapter(adapter);

  //some spinner initialisation stuff->
mySpinner.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);

デフォルトのスピナーレイアウトだけで機能するかどうかはわかりませんが、他のニーズのために作成したカスタムではうまく機能しました。

4
Nor Kagramanian