0

これは私が試したものです:

    public AlertDialogEx(final Context context, View lytCustom)
    {
        // Set your theme here
        super(context, android.R.style.Theme_Translucent);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        // This is the layout XML file that describes your Dialog layout
        this.setView(lytCustom);
//        this.setContentView(lytCustom);
    }

そして、その黒い背景を取り除きません:

ここに画像の説明を入力

setContentView()悪名高い「コンテンツを追加する前に requestFeature() を呼び出す必要があります」というメッセージをスローする代わりに使用しsetView()ますが、残念ながら明らかな理由はありません。どうすれば目標を達成できますか?

4

2 に答える 2

0

テーマ@android:style / Theme.Translucent.NoTitleBarを使用し、多くの透明な背景を持つAlertDialogの代わりに、通常のフルスクリーンアクティビティで終了しました。

于 2012-10-09T15:11:24.777 に答える
0

ダイアログの背景をxmlレイアウトファイルで定義する必要があります/次のように:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?windowBackground"
android:orientation="vertical" >
.........................
body of your dialog
...........................
</LinearLayout>

または、これをプログラムで行うことができます

  view.setBackgroundColor(color)
于 2012-10-08T10:38:56.713 に答える