其他分享
首页 > 其他分享> > android – Custom AlertDialog Borders

android – Custom AlertDialog Borders

作者:互联网

我正在创建一个自定义对话框.它的示例代码是:

final AlertDialog dialog;

protected AlertDialog createDialog(int dialogId) {
    AlertDialog.Builder builder;
    builder = new AlertDialog.Builder(parent);
    AlertDialog fDialog = null;

    switch(dialogId) {
        case Constants.cusDialogtId:
            builder = new AlertDialog.Builder(parent);
            builder.setTitle("Title");
            LayoutInflater inflater = (LayoutInflater)parent.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View view = inflater.inflate(R.layout.customdialog, null);
            builder.setView(view);
            fDialog = builder.create();
            break;
    }
    dialog = fDialog;
    return dialog;
}

问题是,当显示对话框时,它具有原生对话框的灰色背景,其中一些顶部和底部边框也显示在我的自定义对话框中.
有没有办法只显示我的自定义对话框视图…… ???

我使用的XML是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
android:background="@drawable/bgsmall" >
<EditText android:id="@+id/redeemamount"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:layout_marginTop="10dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:hint="Enter amount"
android:inputType="numberDecimal">
</EditText>             
<Button android:id="@+id/submitRedeemAmountButton"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:text="Submit"
android:textColor="#FFFFFF"
android:textStyle="bold"
android:background="@drawable/buttoncorner"
android:layout_marginTop="20dip"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginBottom="20dip">
</Button>
</LinearLayout>

解决方法:

我不认为你可以使用AlertDialog.Builder删除边框.

你可以做的是创建一个扩展Dialog的CustomDialog类,并在CustomDialog的构造函数中为infdialog.xml扩充.

此外,您还需要为对话框创建一个隐藏边框的自定义样式.这是一个例子:

    <style
      name="CustomStyle"
      parent="android:Theme.Dialog">
      <item
          name="android:windowBackground">@color/transparent</item>
      <item
          name="android:windowContentOverlay">@null</item>
    </style>

还要定义透明颜色:

   <color
      name="transparent">#00000000</color>

您将使用以下命令创建对话框:

    CustomDialog dialog=new CustomDialog(this,R.style.CustomStyle);

标签:android,customdialog
来源: https://codeday.me/bug/20190729/1576755.html