Saydam-siyah arka plan eklediğim bir "tam ekran" DialogFragment oluşturdum.Android Tam Ekran Parçası İletişim Kutusu Hata
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// if >= LOLLIPOP, then I color the the statusbar
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
dialog.getWindow().setStatusBarColor(SOME_COLOR_HERE);
}
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.DialogFullScreen);
}
Bu benim setStyle() ayarlanmış tema: Ben bunu nasıl yaptığını
var: Sonuçta aşağıdaki ekran görülebilir
<style name="DialogFullScreen">
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
</style>
Ve bu, parça için şişirdiğim düzendir:
<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"
tools:context="br.com.emotiondigital.sempreeditora.Fragments.LockedContentFragment"
android:id="@+id/popup_parent_layout">
<LinearLayout
android:clickable="true"
android:id="@+id/popup_black_bg"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b9000000"/>
<RelativeLayout
android:id="@+id/popup_main_layout"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@android:color/white"
android:elevation="10dp"
android:layout_marginBottom="70dp"
android:layout_marginTop="70dp"
>
<LinearLayout
android:layout_alignTop="@+id/bg_popup"
android:layout_alignBottom="@+id/bg_popup"
android:layout_alignRight="@+id/bg_popup"
android:layout_alignLeft="@+id/bg_popup"
android:background="@color/bg_grey"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="51dp"
android:orientation="vertical"
android:background="@android:color/white"
android:elevation="2dp"
>
<TextView
android:id="@+id/selectNewspaperText"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:gravity="center"
android:text="@string/selecione_jornal"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:textColor="@color/colorPrimary"
/>
<LinearLayout
android:orientation="vertical"
android:id="@+id/topLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimaryDark"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:overScrollMode="ifContentScrolls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recyclerViewJornais"
/>
<LinearLayout
android:orientation="vertical"
android:id="@+id/bottomLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/colorPrimaryDark"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/btnCancelar"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white"
android:textColor="@color/colorPrimary"
android:text="@string/cancelar"/>
<Button
android:id="@+id/btnOk"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@android:color/white"
android:background="@color/colorPrimary"
android:text="@string/ok"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
olanlar ekran görüntüleri bile bazı düşük sonunda Samsung 4.2 cihazlar üzerinde test, birçok cihazlarında Android 5.1 Bu iyi çalışıyor çalıştıran bir Xperia Z3 idi. Sorun şu ki, Android 5.1 ile birlikte bir Nexus 4 üzerinde çalışmıyor. Nexus 4'te şeffaflık çalışmıyor gibi görünüyor ve görünüm arka planda birçok kez çoğaltıyor. İşte
Xperia Z3 ve Nexus 4 arasında başka karşılaştırma var: Burada bir ekran görüntüsü var
Nexus 4 neler oluyor? Herhangi bir yardım için teşekkür ederiz!
Bu garip bir grafik hatasıdır, ancak neden ilk etapta bir "tam ekran" iletişim kutusu kullanıyorsunuz? Bir iletişim kutusunun varsayılan davranışını çoğalttığınız gibi görünüyor (iletişim kutusu varsayılan olarak arka planı karartır). – Bryan
@Bryan Görüşümün tüm yönlerini kontrol etmeyi seviyorum. Örneğin, bu şekilde arka planı bir görünüm olarak kontrol edebilir ve çalışma zamanında opaklığını canlandırabilirim. Bazı ilginç etkiler yaratmak için bunu kullanıyorum. –