Ich versuche, ein Vollbild zu erstellen (aber Statusleiste muss immer noch sichtbar sein) Dialog mit benutzerdefinierten transparenten (wie diese Antwort https://stackoverflow.com/a/29482234), aber mein Hintergrund ist nicht transparent.DialogFragment mit transparentem Hintergrund
Ich habe 2 Tage verschwendet alle Lösung zu versuchen, aber es wird einfach nicht funktionieren. Mein Ziel ist es, einen Dialog mit benutzerdefinierten Dim-Farben (anstelle von Standard-Schwarz) zu zeigen. Die obige Antwort sah so aus, wie ich es brauchte, aber ich kann es nicht zur Arbeit bringen. Irgendwelche Vorschläge?
Mein Code:
<style name="CustomDialogTheme2" parent="@android:style/Theme.Dialog">
<item name="android:windowIsFloating">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
Layout:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#AAFFFFFF">
<RelativeLayout
android:id="@+id/dialog_root"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:background="#CCFF0000"
android:padding="16dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
</FrameLayout>
DialogFragment:
public class TestDialogFrag extends DialogFragment {
public static TestDialogFrag newInstance() {
Bundle args = new Bundle();
TestDialogFrag fragment = new TestDialogFrag();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.CustomDialogTheme2);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.test_dialog_frag, container, false);
return view;
}
}
Haben Sie versucht das? @fanboy555 – MathaN