मैं कस्टम view
(कोई शीर्षक या पाद लेख) और गोलाकार कोनों के साथ AlertDialog
बनाने की कोशिश कर रहा हूं। मैंने ऐसा करने के बारे में बहुत सी पोस्ट देखी हैं और मैंने बहुत सी चीजों की कोशिश की, लेकिन मैं इसे बनाना नहीं चाहता जैसे मैं चाहता हूं।एंड्रॉइड: कस्टम व्यू और गोलाकार कोनों के साथ अलर्टडियलॉग
मैं dialog
dialog_background.xml कहा जाता है के लिए एक drawable
बनाया:
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid
android:color="#FFAAAAAA" />
<stroke
android:width="2dp"
android:color="#FF000000" />
<corners android:radius="20dp" />
</shape>
और मैं एक style
कहा कि यह उपयोग करने के लिए:
<style name="MyDialog" parent="@android:style/Theme.Dialog">
<item name="android:background">@drawable/dialog_background</item>
</style>
यह मेरा लक्ष्य है
मेरे कस्टम view
में दो बटन होंगे। अभी इसे आसान बनाने के लिए मैं आपको खाली LinearLayout
दिखाता हूं।
<LinearLayout 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"
android:orientation="vertical"
style="@style/MyDialog"
>
</LinearLayout>
Dialog
निर्माण करने के लिए मैं एक DialogFragment
का उपयोग करें: यह playdialog.xml है। ,
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.playdialog, null));
return builder.create();
}
ठीक है अगर मैं उस तरह कोड का उपयोग मैं इस मिल: यह अपने onCreateDialog
समारोह है
मैं अपने DialogFragment
कोड को संशोधित करने के लिए पारदर्शी dialog
पृष्ठभूमि सेट करने की कोशिश की:
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.playdialog, null));
**NEW**
Dialog d = builder.create();
d.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
return d;
}
परिणाम बिल्कुल वही है, इसलिए मुझे एहसास हुआ कि वह सफेद आयताकार मेरे dialog
मेरे कस्टम view
से है, dialog
से नहीं। मैं पहले से ही view
की पृष्ठभूमि को dialog_background.xml पर सेट कर रहा हूं, इसलिए मैं इसे पारदर्शी पर भी सेट नहीं कर सकता हूं या मैंने कोनों, रंग इत्यादि को खोला है।
फिर मैंने dialog
की पृष्ठभूमि को संशोधित करने का निर्णय लिया dialog_background.xml और मेरे दृश्य में पृष्ठभूमि के रूप में ठोस रंग है।
अपने कस्टम में view
layout
(playdialog.xml) मैं के साथ प्रतिस्थापित शैली = "@ शैली/MyDialog":
android:background="#FFAAAAAA"
और फिर मेरी DialogFragment
में मैं इस कोड का इस्तेमाल किया:
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.playdialog, null));
**NEW**
Dialog d = builder.create();
d.getWindow().setBackgroundDrawableResource(R.drawable.dialog_background);
return d;
}
यह मुझे मिलता है:
यह लगभग वही है जो मैं चाहता था, लेकिन आप मेरी कस्टम view
सीमाएं देख सकते हैं, इसलिए यह पर्याप्त नहीं है। इस बिंदु पर मुझे नहीं पता था कि मैं और क्या कर सकता हूं।
कोई भी जानता है कि मैं इसे कैसे हल कर सकता हूं?
धन्यवाद!
क्या आप समस्या को ठीक कर सकते हैं? गोलाकार कोने के साथ, मैं – sabbir