Tôi đang tạo DialogFragment để hiển thị một số thông báo trợ giúp về ứng dụng của mình. Mọi thứ đều hoạt động tốt bên cạnh một điều: Có một dải màu đen ở đầu cửa sổ hiển thị DialogFragment, mà tôi cho là được dành riêng cho tiêu đề, thứ mà tôi không muốn sử dụng.
Điều này đặc biệt đau đớn vì DialogFragment tùy chỉnh của tôi sử dụng nền trắng, do đó, sự thay đổi là quá nổi tiếng để bị bỏ qua một bên.
Hãy để tôi chỉ cho bạn điều này theo cách đồ họa hơn:
Bây giờ mã XML cho DialogFragment của tôi như sau:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/holding"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/dialog_fragment_bg"
>
<!-- Usamos un LinearLayout para que la imagen y el texto esten bien alineados -->
<LinearLayout
android:id="@+id/confirmationToast"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView android:id="@+id/confirmationToastText"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="@string/help_dialog_fragment"
android:textColor="#AE0000"
android:gravity="center_vertical"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/confirmationButtonLL"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
>
<Button android:id="@+id/confirmationDialogButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginBottom="60dp"
android:background="@drawable/ok_button">
</Button>
</LinearLayout>
</LinearLayout>
</ScrollView>
Và mã của lớp thực hiện DialogFragment:
public class HelpDialog extends DialogFragment {
public HelpDialog() {
// Empty constructor required for DialogFragment
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//Inflate the XML view for the help dialog fragment
View view = inflater.inflate(R.layout.help_dialog_fragment, container);
TextView text = (TextView)view.findViewById(R.id.confirmationToastText);
text.setText(Html.fromHtml(getString(R.string.help_dialog_fragment)));
//get the OK button and add a Listener
((Button) view.findViewById(R.id.confirmationDialogButton)).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// When button is clicked, call up to owning activity.
HelpDialog.this.dismiss();
}
});
return view;
}
}
Và quá trình tạo trong Hoạt động chính:
/**
* Shows the HelpDialog Fragment
*/
private void showHelpDialog() {
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
HelpDialog helpDialog = new HelpDialog();
helpDialog.show(fm, "fragment_help");
}
Tôi thực sự không biết câu trả lời này, có liên quan đến Hộp thoại hay không, cũng phù hợp với Android: Làm cách nào để tạo Hộp thoại mà không có tiêu đề?
Làm thế nào tôi có thể thoát khỏi khu vực tiêu đề này?