Androidのスピナー - ドロップダウンビューを透明にする方法は?
-
20-09-2019 - |
質問
私は/ / resを/レイアウトでカスタムスピナードロップダウンxmlファイルを持っています:
spinner_view_dropdown.xml:
<?xml version="1.0" encoding="UTF-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinner_item_dropdown"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
style="@style/spinner_item_dropdown" />
私は、Javaを経由してスピナードロップダウンを設定しています:
// "Spinner", aka breadcrumbs
Spinner spin = (Spinner) findViewById(R.id.breadcrumb_dropdown);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.breadcrumb, R.layout.spinner_view);
adapter.setDropDownViewResource(R.layout.spinner_view_dropdown);
spin.setAdapter(adapter);
// /"Spinner"
残念ながら、白い背景には、まだ私は透明に背景を設定している場合に関係なく、スピナーポップアップ上に存在する。
どのように私はこの問題を解決するのですか?
解決
あなたはその後、上書き、ドロップダウンのスタイル、およびAndroidのテーマの一つから継承あなたのアプリでテーマを使用して、ドロップダウン項目を無効にすることができます。
android:dropDownSpinnerStyle
、またはandroid:spinnerDropDownItemStyle
、およびテーマのさえandroid:dropDownListViewStyle
属性、代わりに自分のテーマで定義されているAndroidのスタイルの独自のカスタムスタイルを指します。私は透明のボタンとドロップダウンで、このように完全にカスタマイズされたスピナーを作成しました。私はしても、ドロップダウンリストの分周器を取り除く、と私はファンダンゴのためのタブレットアプリをビルド時(アプリのメインページのソート映画スピナーを見てみましょう)ドロップダウン項目のための私自身の間隔を設定してしまっています。
アンドロイドですべてがカスタマイズ可能で、あなただけのどこを見れために知っておく必要があります。 ; - )
他のヒント
このスピナーに設定してみてください
android:popupBackground="@android:color/transparent"
あなたが定義しているレイアウトは、あなたのドロップダウンではなく、ドロップダウン自体ののエントリのために使用されています。だから、透明に背景を設定すると、その背景には何の影響もありません。しかし、TextViewには(実際に私は、のいずれかののビューを信じて)、デフォルトで透明な背景を持っているので。
それは、透明に背景を設定すると、まだ、何の効果も持たないだろうだろう場合でも、言われていること、右の質問は次のようになります。あなたは(おそらくリスト)エントリの親ビューのカスタムレイアウトを提供することができますか?私の知る限りでは、答えは残念ながら、ないです。
試してみてください。
android:cacheColorHint="#00000000"
透明性を得るために。
私はそれがあなたのために働く場合は知らないが、ポストがあります ます。http://アンドロイド-開発。 blogspot.com/2009/01/why-is-my-list-black-android.htmlする リストの可動部分は背景色で表示される理由は説明しています。
あなたのスピナーとたぶん、その同じ問題ます。
これは、私が思う1.5のバグだ、ここを参照してください。
http://www.symsource.com/index .PHP?ビュー=記事&ID = 418&オプション= com_content&フォーマット= PDF の
1.6エミュレータまたはデバイスでそれを実行し、それはまだ白い滞在のでしょうか?
私は実際にこれへのアプローチを探してここに来た、私はこれを手動でキャンバスまたはそのような何かへの書き込みを伴うことが疑わます。
任意のアイデアます。
P.S。私は誰もが匿名のコメントを取り除く方法を知っている、私がログインしていたと思った時に誤って掲載?たぶん、管理者は、この問題を解決するだろうか?