第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 FAB 點(diǎn)擊顯示自定義對(duì)話框?

如何使用 FAB 點(diǎn)擊顯示自定義對(duì)話框?

牛魔王的故事 2022-11-02 10:00:12
我嘗試使用布局創(chuàng)建自定義對(duì)話框。我還沒有在對(duì)話框中添加任何功能。目前,我正在嘗試通過從 MainActivity 中單擊 FAB 來啟動(dòng)它。這是我的自定義對(duì)話框:public class GenerateDialog extends Fragment implements DialogInterface.OnCancelListener, DialogInterface.OnDismissListener {    @Nullable    @Override    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return inflater.inflate(R.layout.dialog_layout, container, false);    }    ...}這是我的MainActivity。我不知道我應(yīng)該如何在onClick. 我嘗試使用意圖,但將對(duì)話框轉(zhuǎn)換為活動(dòng)時(shí)出錯(cuò):public class MainActivity extends AppCompatActivity {    ...    GenerateDialog generateDialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ...        generateDialog = new GenerateDialog();        floatingActionButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // Show GenerateDialog            }        });    }}
查看完整描述

3 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

完成類似的操作后,您的對(duì)話框類應(yīng)該擴(kuò)展 Dialog 而不是 Fragment。它應(yīng)該是:public class GenerateDialog extends Dialog


然后在構(gòu)造函數(shù)上膨脹它:


public class GenerateDialog extends Dialog {


public GenerateDialog(@NonNull Context context) {

        super(context, android.R.style.Theme_NoTitleBar_Fullscreen);

        setContentView(R.layout.dialog_layout);

    }

 … 

}

在您的 FAB 偵聽器上,在您啟動(dòng)對(duì)象后,您可以調(diào)用 show()(如果您的對(duì)象名為 generateDialog,則generateDialog.show();在實(shí)例化它后執(zhí)行,因?yàn)樗秋@示對(duì)話框所必需的)。


菲:


public class MainActivity extends AppCompatActivity {

    ...

    GenerateDialog generateDialog;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        ...


        generateDialog = new GenerateDialog(this);


        floatingActionButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                generateDialog.show();

            }

        });

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-11-02
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

你可以像這樣顯示你的對(duì)話框


public class CustomDialog extends Activity {


    private static Context context;


    private static Dialog dialog;

    public static void dialog(final Context ctxt, final String calledBy,

                              String title, String message, String buttonText) {


        context = ctxt;


        if( dialog != null && dialog.isShowing() ) return;


        dialog = new Dialog(context);


        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

        dialog.getWindow().setBackgroundDrawableResource(R.color.transparent);

        dialog.setCancelable(false);

        dialog.setCanceledOnTouchOutside(false);

        dialog.setContentView(R.layout.custom_dialog_single_button);


        TextView txtTitle = dialog.findViewById(R.id.txtTitle);

        TextView txtMessage = dialog.findViewById(R.id.txtMessage);

        TextView tvOK = dialog.findViewById(R.id.tvOK);


        txtTitle.setText(title);

        txtMessage.setText(message);

        tvOK.setText(buttonText);




        dialog.show();


    }

像這樣稱呼它


CustomDialogSingleButton.dialog(context,

                        Constants.SYNC_FILES

                        , context.getResources().getString(R.string.sync_files_title),

                        context.getResources().getString(R.string.sync_files_msg), "OK");

只需嘗試此代碼,您的對(duì)話框就會(huì)出現(xiàn)


查看完整回答
反對(duì) 回復(fù) 2022-11-02
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

對(duì)話框片段的代碼


public class MyCustomDialog extends DialogFragment{


 @Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setStyle(android.app.DialogFragment.STYLE_NORMAL, android.R.style.Theme_Black_NoTitleBar);

}


@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

                         Bundle savedInstanceState) {


View v = inflater.inflate(R.layout.dialog_view, container, false);

return v;

}


}

并從您的活動(dòng)中調(diào)用此 MyCustomDialog ,如下所示,


 MyCustomDialog dialog = new MyCustomDialog();

 Bundle args = new Bundle();

 FragmentTransaction ft = getFragmentManager().beginTransaction();

 dialog.show(ft, MyCustomDialog.TAG);


查看完整回答
反對(duì) 回復(fù) 2022-11-02
  • 3 回答
  • 0 關(guān)注
  • 125 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)