मैं कोशिश करना चाहता हूं BottomSheetDialog एंड्रॉइड सपोर्ट लाइब्रेरी 23.2 में पेश किया गया लेकिन यह सही तरीके से काम नहीं कर रहा है।BottomSheetDialog का उपयोग कैसे करें?
BottomSheetBehavior लगातार नीचे चादर मामले कब्जा है, इस रिलीज भी भरने के लिए मॉडल नीचे शीट मामले का प्रयोग कर एक BottomSheetDialog और BottomSheetDialogFragment प्रदान करता है: यहाँ क्या दस्तावेज़ कहते है। बस शीट के रूप में अपना संवाद स्टाइल करने के लिए अपने नीचे शीट समकक्षों के साथ AppCompatDialog या AppCompatDialogFragment को प्रतिस्थापित करें। "
तो मैं बदल मेरी AppCompatDialog
BottomSheetDialog
रहे हैं:
package my.package.ui.dialog;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.design.widget.BottomSheetDialog;
import my.package.R;
public class AccountActionsDialog extends BottomSheetDialog {
public AccountActionsDialog(Context context) {
super(context);
if (context instanceof Activity) {
setOwnerActivity((Activity) context);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutInflater().inflate(R.layout.dialog_account_actions, null));
}
}
यहाँ मेरी लेआउट फ़ाइल है:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff0000"
android:padding="16dp"
android:text="Delete account"
android:textColor="#ffffff" />
</LinearLayout>
तब मैं अपने गतिविधि में निम्न कोड का उपयोग करें:
new AccountActionsDialog(this).show();
मेरी स्क्रीन मंद हो गई है लेकिन मेरे संवाद की सामग्री दिखाई नहीं दे रही है। क्या हो सकता है पर कोई विचार? यह ठीक काम करता है जब मैं AppCompatDialog का उपयोग करता हूं।
वहाँ एक विशेष कारण है कि आप 'setContentView (R.layout.dialog_account_actions)' उपयोग नहीं कर रहे है? – ianhanniballake
हां। शुरुआत में मैंने पहले रूट दृश्य को फुलाया और खोजने के लिए सभी दृश्यों को खोजने के लिए findViewById() का उपयोग किया और उनके लिए उचित श्रोताओं को सेट किया। मैंने इस उदाहरण के लिए कोड को सरल बना दिया और इस भाग को बदलने के लिए भूल गए। मुद्दा कोई फर्क नहीं पड़ता कि लेआउट कैसे सेट किया गया है। –
यह समर्थन लाइब्रेरी में निश्चित रूप से एक बग है - कृपया एक छोटे नमूना प्रोजेक्ट के साथ b.android.com पर एक फ़ाइल करें और यहां एक लिंक शामिल करें ताकि मैं इसे टीम में ला सकूं - यहां तक कि एक पागल व्यवहार के लिए - अपना ' ~ 250dp की ऊंचाई तक LinearLayout'। – ianhanniballake