DialogFragment在棉花糖上空白并变灰

问题描述 投票:1回答:2

在按下图像时,我有一个使用对话碎片弹出的常规主菜单。当使用5.1 Lollipop时,Galaxy Tab S2 9.7平板电脑没有问题。但是,升级到6.0.1后不再弹出。相反,菜单看起来像是要弹出,屏幕像菜单那样暗淡,但屏幕上没有任何内容。当我触摸屏幕时,屏幕变亮并返回到原始主活动,就好像我在DialogFragment外面点击一样。

我检查了所有代码,所有内容都从我能看到的内容中查看。我想知道这可能是Dialog本身的问题,而不是调用Activity。

以下是呼叫活动的代码:

optionMenu = (ImageView) findViewById(R.id.optionGear);
optionMenu.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            FragmentTransaction ft = getFragmentManager().beginTransaction();
            Fragment prev = getFragmentManager().findFragmentByTag("dialog");
            if (prev != null) {
                ft.remove(prev);
            }

            DialogFragment editNameDialog = MainMenuDialog.newInstance("Set Event ID");
            //MainMenuDialog editNameDialog = MainMenuDialog.newInstance("Set Event ID");
            Bundle args = new Bundle();
            args.putString("ID", eventID);
            editNameDialog.setArguments(args);
            editNameDialog.show(ft, "dialog");

        }
    });

以下是Dialog的代码片段:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_main_menu, container);



}

@Override
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

这是XML的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/options_menu"
android:layout_width="290dp" android:layout_height="460dp"
android:layout_gravity="center" android:orientation="vertical"
android:background="#7bffffff"
android:visibility="visible">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView"
    android:enabled="false" />

<TextView
    android:id="@+id/textView4"
    android:text="EVENT INFORMATION"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:textStyle="bold"
    android:typeface="sans"
    android:textColor="#ffffff"
    android:textAlignment="center"
    android:background="#ce2127" />

<TextView
    android:id="@+id/lbl_your_name" android:text="Event ID: (Must be in all caps)"
    android:layout_width="match_parent" android:layout_height="wrap_content"
    android:textStyle="bold"
    android:textSize="20sp"
    android:textColor="#000000"
    android:layout_marginTop="10dp"
    android:textAlignment="center" />

<EditText
    android:id="@+id/event_id"
    android:layout_width="match_parent"  android:layout_height="wrap_content"
    android:inputType="text|textCapCharacters"
    android:imeOptions="actionDone"
    android:textColor="#000000"
    android:textAlignment="center" />

<TextView
    android:id="@+id/textView2"
    android:text="Re-Enter Event ID:"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textStyle="bold"
    android:textSize="20sp"
    android:textColor="#000000"
    android:textAlignment="center" />

<EditText
    android:id="@+id/confirmEvent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text|textCapCharacters"
    android:imeOptions="actionDone"
    android:textColor="#000000"
    android:textAlignment="center" />

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="CLEAR TEXT"
        android:id="@+id/clearButton"
        android:background="#a0a0a0"
        android:textColor="#ffffff" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="CANCEL"
        android:id="@+id/cancelButton"
        android:background="#ce2127"
        android:textColor="#ffffff"
        android:layout_marginLeft="15dp"
        android:layout_gravity="center_horizontal" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="SAVE"
        android:id="@+id/saveButton"
        android:background="#009634"
        android:textColor="#ffffff"
        android:layout_marginLeft="15dp"
        android:layout_gravity="right" />

</LinearLayout>

<TextView
    android:layout_width="match_parent"
    android:layout_height="20dp"
    android:id="@+id/textView3"
    android:enabled="false"
    android:background="#000000"
    android:layout_marginTop="10dp" />

<TextView
    android:id="@+id/uploadTitle"
    android:text="NON-UPLOADED VIDEOS"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:textStyle="bold"
    android:typeface="sans"
    android:textColor="#ffffff"
    android:textAlignment="center"
    android:background="#ce2127"
    android:layout_marginBottom="10dp" />

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="# VIDEOS TO UPLOAD:"
        android:id="@+id/textView5"
        android:textSize="20sp"
        android:textStyle="bold"
        android:textColor="#000000" />

    <TextView
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:text="0"
        android:id="@+id/videoCount"
        android:textSize="20sp"
        android:textStyle="bold"
        android:textColor="#000000"
        android:textAlignment="textEnd" />
</LinearLayout>

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="CLICK TO UPLOAD VIDEOS"
    android:id="@+id/uploadButton"
    android:textStyle="bold"
    android:textColor="#000000"
    android:textSize="20sp"
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp" />

<TextView
    android:id="@+id/uploadStatus"
    android:text="UPLOAD STATUS: IDLE"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:textSize="20sp"
    android:textStyle="bold"
    android:typeface="sans"
    android:textColor="#000000"
    android:textAlignment="center" />

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal">

    <TextView
        android:id="@+id/textView6"
        android:text="Application Version: "
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15sp"
        android:textStyle="bold"
        android:typeface="sans"
        android:textColor="#000000"
        android:textAlignment="center"
        android:layout_marginTop="10dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/verNumber"
        android:textSize="15sp"
        android:textStyle="bold"
        android:typeface="sans"
        android:layout_marginTop="10dp" />
</LinearLayout>

我曾经看过,由于Touchwiz叠加,这些三星设备上出现了奇怪的故障。

任何帮助将不胜感激!

android android-fragments android-6.0-marshmallow android-dialogfragment
2个回答
1
投票

包装对我来说不起作用,但我最后通过添加requestFeature(Window.FEATURE_NO_TITLE)修复了它:

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    val dialog = super.onCreateDialog(savedInstanceState)
    dialog.window.requestFeature(Window.FEATURE_NO_TITLE)
    return dialog
}

0
投票

事实证明,Android 6.0.1存在XML布局问题,从我选择的线性布局开始。

我最终将Linear Layout包装在标准的FrameLayout和BAM中,一切都出现了!

有趣....

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/options_menu"
android:layout_width="290dp" android:layout_height="460dp"
android:layout_gravity="center" android:orientation="vertical"
android:background="#7bffffff">>
© www.soinside.com 2019 - 2024. All rights reserved.