java - 无法在android中设置背景完全透明

标签 java android android-activity dialog transparency

这是我使用过的代码。我的 MainActivity 类

public class MainActivity extends AppCompatActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void broadcastIntent(View view){
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(MainActivity.this);
    LayoutInflater inflater = MainActivity.this.getLayoutInflater();
    View dialogView = inflater.inflate(R.layout.demo, null);
    dialogBuilder.setView(dialogView);
    final AlertDialog alertDialog = dialogBuilder.create();
    Window window = alertDialog.getWindow();
    window.setLayout(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
    window.setGravity(Gravity.CENTER);
    alertDialog.show();
  } 
 }

我的对话框布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="#00000000"
android:orientation="vertical">

<RelativeLayout
    android:layout_width="150dp"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true">

    <TextView
        android:id="@+id/txtJioMoney"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:text="First"
        android:textColor="#3F51B5"
        android:textSize="18sp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Second"
        android:textColor="#3F51B5"
        android:id="@+id/txtCashOnPick"
        android:gravity="center"
        android:textSize="18sp"
        android:layout_marginBottom="20dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

      </RelativeLayout>
   </RelativeLayout>

我的主要布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button2"
    android:text="Broadcast Intent"
    android:onClick="broadcastIntent"
    android:background="@color/colorPrimary"
    android:layout_below="@+id/textView1"
    android:textColor="@android:color/white"
    android:padding="10dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="103dp" />

  </RelativeLayout>

我正在使用 AppCompatActivity,因此我无法在 list 中使用 @android:style/Theme.Translucent。我希望我的对话框完全透明,我不需要白色背景。

sample Screenshot

最佳答案

这个问题有很多答案,下次在发布问题之前尝试在 stackoverflow 或 google 上搜索一下。

set Transparent background to alertdialog in android

Dialog with transparent background in Android

android AlertDialog with transparent background

此外,您还可以尝试以编程方式在相对布局上使用 .setAlpha(0),而不是使用 xml 样式。

关于java - 无法在android中设置背景完全透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39676388/

相关文章:

java - 从输入流 Java 解析 XML

java - 3 层架构 - 从较低层通知 gui

java - 用于从 Java 生成 excel 文件的 jxlapi 中的列限制

javascript - 下拉菜单切换不适用于 ngTouch

android - Google Maps Android v2 授权失败

android - 如何链接键盘上的按钮以启动新屏幕?

java - hibernate 监听器异步吗?

java - HTTPclient 和 cookie 的问题

java - 启动 Activity 不适用于 Android 模拟器

android - 启动第三个 Activity 时崩溃