6

背景色PopupWindowのシンプルなものを使って作成しました。LinearLayoutに影がありPopupWindowます。に対して自動的に生成されたシャドウを削除するにはどうすればよいですかPopupWindow。私は次のように作成しましたPopupWindow

    View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.mylayout,null);
    pop = new PopupWindow(this);
    pop.setTouchable(false);
    pop.setHeight(200);
    pop.setWidth(200);
    pop.setContentView(view);
    pop.showAtLocation(parentview, 0, 50, 50);     

スクリーンショット:

ポップアップシャドウ

4

2 に答える 2

12

そこにいくつかのコードが欠落している可能性はありますか?ビューにポップを追加しているのがわかりません。

とにかく、シャドウを削除するには、PopupWindowで次のコード行を使用する必要があります。

this.getWindow().setBackgroundDrawable(new ColorDrawable(0));

少なくともそれは私のために働いたものです...

乾杯!

于 2012-12-19T20:21:04.267 に答える
1

アプリケーションでPopupWindowsのスタイルを設定できます。このコードは、すべてのPopupWindowsからネイティブシャドウを削除するだけです。

<style name="Base.AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

<style name="PopupMenu" parent="android:Widget.Material.PopupMenu">
    <item name="android:popupElevation">0dp</item>
</style>
于 2017-08-23T17:59:28.377 に答える