Я не могу установить прозрачный фон на 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 (новый ColorDrawable (Color.TRANSPARENT));' – Naz141