我不能在API 19上設置背景透明,而是我得到一個白色的背景。背景僅在API 21及以上版本中透明。背景API 19上不透明
我有一個調用自定義對話框片段的活動。對話框片段的父級佈局有background="@android:color/transparent"
。
我在做什麼錯?我錯過了什麼。任何提示提示將非常有幫助。
解決方案,我曾嘗試:
改變原色到透明上MyActivityTheme
父佈局background="@null"
Dialog with transparent background in Android
How to make any view background transparent?
MyDialogFragment
public class MyDialogFragment : DialogFragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetStyle(DialogFragmentStyle.NoTitle, Resource.Style.MyDialogTheme);
}
public override Dialog OnCreateDialog(Bundle savedInstanceState)
{
var builder = new AlertDialog.Builder(Activity);
var inflater = Activity.LayoutInflater;
var dialogView = inflater.Inflate(Resource.Layout.MyDialogLayout, null);
if (dialogView != null)
{
builder.SetView(dialogView);
}
var dialog = builder.Create();
dialog.Window.RequestFeature(WindowFeatures.NoTitle);
dialog.Window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent));
return dialog;
}
}
MyDialogLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Child layouts -->
</LinearLayout>
Styles.xml
<style name="MyActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/Red</item>
<item name="colorAccent">@color/White</item>
<item name="colorControlNormal">@color/White</item>
<item name="colorControlActivated">@color/White</item>
<item name="android:textColorHint">@color/White</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
<style name="MyDialogTheme" parent="android:Theme.Holo.Light.Dialog.NoActionBar">
<item name="colorPrimary">@android:color/transparent</item>
<item name="colorAccent">@color/Red</item>
<item name="colorControlNormal">@color/Red</item>
<item name="colorControlActivated">@color/Red</item>
<item name="colorControlHighlight">@color/Red</item>
<item name="android:windowNoTitle">true</item>
<item name="android:textColorPrimary">@color/Red</item>
</style>
你希望背景透明的對話框? – Naz141
是的,我願意。背景僅在API 22和更高版本上透明,但不在API 19上。 – PLOW
只需使用代碼嘗試替換即可。 'dialog.getWindow()。setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));' – Naz141