मैं अपने ऐप के बारे में कुछ मदद संदेश दिखाने के लिए एक DialogFragment बना रहा हूं। एक चीज के अलावा सब कुछ ठीक काम करता है: खिड़की के शीर्ष पर एक काले रंग की पट्टी होती है जो डायलॉगफ्रैगमेंट को दिखाती है, कि मुझे लगता है कि शीर्षक के लिए आरक्षित है, कुछ जिसे मैं उपयोग नहीं करना चाहता हूं।
यह विशेष रूप से दर्दनाक है क्योंकि मेरे कस्टम डायलॉगफ्रैगमेंट एक सफेद पृष्ठभूमि का उपयोग करता है, इसलिए यह बदलाव एक तरफ छोड़ दिया जाने के लिए बहुत कुख्यात है।
मुझे इसे और अधिक ग्राफिकल तरीके से दिखाने दें:
अब मेरे DialogFragment के लिए XML कोड इस प्रकार है:
<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>
और संवाद कोड लागू करने वाले वर्ग का कोड:
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;
}
}
और मुख्य गतिविधि में निर्माण प्रक्रिया:
/**
* Shows the HelpDialog Fragment
*/
private void showHelpDialog() {
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
HelpDialog helpDialog = new HelpDialog();
helpDialog.show(fm, "fragment_help");
}
मैं वास्तव में नहीं जानता कि क्या यह जवाब, एक डायलॉग से संबंधित है, यहां भी फिट बैठता है एंड्रॉइड: एक शीर्षक के बिना डायलॉग कैसे बनाएं?
मैं इस शीर्षक क्षेत्र से कैसे छुटकारा पा सकता हूं?