在按下图像时,我有一个使用对话碎片弹出的常规主菜单。当使用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叠加,这些三星设备上出现了奇怪的故障。
任何帮助将不胜感激!
包装对我来说不起作用,但我最后通过添加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
}
事实证明,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">>