単にスピナーのドロップダウン矢印を削除することはまったく可能かどうか疑問に思っていますか?スピナーの背景レイアウトに描画可能な矢印がありますが、システムのデフォルトの矢印はスピナーの右側に表示されます。
これが私のアクティビティレイアウトのスピナー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" />
ありがとう!
これはあなたを助けるかもしれません
<?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>
ウルスピナーでこのスタイルを使用する
特定のスタイルを宣言したくない場合、レイアウトxmlファイルのバックグラウンド@nullもトリックを行います。
<Spinner
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@null"/>
この簡単な方法を試してください:
Android:background="@Android:color/transparent"
どちらの答えも私には役に立たなかったので、ここでは非常にシンプルな1行のソリューションが機能しました。
//some spinner initialisation stuff->
mySpinner.setAdapter(adapter);
//some spinner initialisation stuff->
mySpinner.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
デフォルトのスピナーレイアウトだけで機能するかどうかはわかりませんが、他のニーズのために作成したカスタムではうまく機能しました。