无法在android中设置背景完全透明
Posted
技术标签:
【中文标题】无法在android中设置背景完全透明【英文标题】:Cannot able to set background fully transparent in android 【发布时间】:2017-02-02 05:39:47 【问题描述】:这是我使用的代码。我的 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_
android:layout_
android:gravity="center"
android:background="#00000000"
android:orientation="vertical">
<RelativeLayout
android:layout_
android:layout_
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true">
<TextView
android:id="@+id/txtJioMoney"
android:layout_
android:layout_
android:layout_marginTop="15dp"
android:text="First"
android:textColor="#3F51B5"
android:textSize="18sp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_
android:layout_
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_
android:layout_ 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_
android:layout_
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。我希望我的对话框完全透明,我不需要白色背景。
【问题讨论】:
【参考方案1】:这个问题已经有很多答案了,下次发帖前先在***或google上搜索一下。
set Transparent background to alertdialog in android
Dialog with transparent background in Android
android AlertDialog with transparent background
此外,除了使用 xml 样式,您还可以尝试以编程方式在相对布局上使用 .setAlpha(0)。
【讨论】:
以上是关于无法在android中设置背景完全透明的主要内容,如果未能解决你的问题,请参考以下文章