12

/res/layout/ にカスタム スピナー ドロップダウン 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"

残念ながら、背景を透明に設定しても、スピナー ポップアップには白い背景が残っています。

これを修正するにはどうすればよいですか?

4

5 に答える 5

29

Android テーマの 1 つから継承するテーマをアプリで使用して、ドロップダウンとドロップダウン項目のスタイルをオーバーライドしてから、

android:dropDownSpinnerStyle、またはandroid:spinnerDropDownItemStyle、さらにはテーマのandroid:dropDownListViewStyle属性で、テーマで定義されている Android スタイルではなく、独自のカスタム スタイルを指します。透明なボタンとドロップダウンを使用して、この方法で完全にカスタマイズされたスピナーを作成しました。ドロップダウン リストの仕切りをなくし、Fandango 用のタブレット アプリを作成するときに、ドロップダウン アイテムに独自の間隔を設定しました (アプリのメイン ページにある [ムービーの並べ替え] スピナーを参照してください)。

Android ではすべてがカスタマイズ可能で、どこを見ればよいかを知るだけで済みます。;-)

于 2011-08-12T22:58:39.303 に答える
26

スピナーでこれを設定してみてください:

android:popupBackground="@android:color/transparent"
于 2012-05-28T16:30:19.900 に答える
1

定義しているレイアウトは、ドロップダウン自体ではなく、ドロップダウンのエントリにのみ使用されます。したがって、背景を透明に設定しても、その背景には何の影響もありません。しかし、たとえそうであっても、背景を透明に設定しても効果はありません.TextView(実際にはどのビューでもあると思います)にはデフォルトで透明な背景があるためです。

そうは言っても、正しい質問は次のとおりです。エントリの親ビュー (おそらくリスト) にカスタム レイアウトを提供できますか? 私の知る限り、残念ながら答えはノーです。

于 2009-12-17T12:57:35.417 に答える
0

これは 1.5 のバグだと思います。ここを参照してください

http://www.symsource.com/index.php?view=article&id=418&option=com_content&format=pdf

1.6 エミュレーターまたはデバイスで実行しますが、まだ白のままですか?

私は実際にこれへのアプローチを探してここに来ました。これには、キャンバスへの手動での書き込みなどが含まれる可能性があると思われます。

何か案は。

PS ログインしたつもりで投稿してしまったのですが、匿名のコメントを消す方法をご存知ですか?多分管理者はこれを修正できますか?

于 2010-06-01T15:12:43.393 に答える