这是我用过的代码。我的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,所以我无法在清单中使用@android:style / Theme.Translucent。我希望我的对话框完全透明,我不需要那个白色背景。
答案 0 :(得分:2)
此问题有很多答案,下次尝试在发布问题之前搜索stackoverflow或google。
set Transparent background to alertdialog in android
Dialog with transparent background in Android
android AlertDialog with transparent background
此外,您还可以尝试以编程方式在Relative布局上使用.setAlpha(0),而不是使用xml样式。