1

カスタム AlertDialog を作成しましたが、画像

デフォルトの黒枠があります。どうすれば非表示にできますか? 私のレイアウト

小道具 - match_parent、

スタイル - @android:style/Theme.Translucent.NoTitleBar.Fullscreen

UPD

@Override
protected Dialog onCreateDialog(int id) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    LayoutInflater inflater = getLayoutInflater();
    View dialoglayout = inflater.inflate(R.layout.dialog_layout, (ViewGroup) getCurrentFocus());
    switch (id) {
    case IDD_RESULT:
        builder.setView(dialoglayout);   
        return builder.create();

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_layout_root"
    style="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/dialog_bg"
        android:orientation="vertical" >

    </LinearLayout>

</LinearLayout>
4

2 に答える 2

1

境界線は、ダイアログのコンテンツ ビューとしてカスタム レイアウト (おそらく膨張) を設定した可能性があるためです。(少なくとも) 3 つのレイアウトで構成されている
と思います。1 つはタイトル用、もう 1 つはコンテンツ用、もう 1 つはボタン用です。AlertDialogs表示される小さな境界線は、ボタンのレイアウトである可能性があります。
とにかく、それらの境界線のないカスタムダイアログが必要な場合は、 を拡張するクラスを作成しActivity、 を使用し@android:style/Theme.Dialogてダイアログのように見せることができます。その後、アクティビティが表示するものと表示しないものを完全に管理できます。

于 2012-08-01T12:55:56.417 に答える
0

AlertDialog表示されているのは、通常デバイスごとに異なるデフォルトのスタイルです。何度か変更しようとしましたが、うまくいきませんでした。そこで、スーパー クラス ダイアログを使用して、独自の AlertDialog を作成しました。

ここに私の答えへのリンクがあります、

https://stackoverflow.com/a/11608468/603744

独自のレイアウトを使用しているため、同じ値になると思います。

于 2012-08-01T12:59:28.880 に答える