亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android?DialogFragment使用之基類(lèi)封裝

 更新時(shí)間:2023年09月18日 14:53:43   作者:motosheep  
這篇文章主要介紹了Android?DialogFragment使用之基類(lèi)封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

關(guān)于安卓DialogFragment基類(lèi)封裝

對(duì)于DialogFragment,在androidX 1.1.0后,已修復(fù)內(nèi)存泄漏

本文內(nèi)容較短,直接上干貨,核心代碼如下:

/**
 * FileName: BaseDialogFragment
 * Author: lzt
 * Date: 2022/8/30 17:33
 * 注意dialog fragment版本,1.1.0以上已修復(fù)內(nèi)存泄漏
 */
public abstract class BaseDialogFragment extends DialogFragment {
    private int DEFAULT_WIDTH = WindowManager.LayoutParams.MATCH_PARENT;//寬
    private int DEFAULT_HEIGHT = WindowManager.LayoutParams.WRAP_CONTENT;//高
    private int DEFAULT_GRAVITY = Gravity.BOTTOM;//位置
    private boolean mCancelable = true;//默認(rèn)可取消
    private boolean mCanceledOnTouchOutside = true;//默認(rèn)點(diǎn)擊外部可取消
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View mView = inflater.inflate(getLayoutId(), container, false);
        initViews(mView);
        return mView;
    }
    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        Dialog mDialog = super.onCreateDialog(savedInstanceState);
        if (null != mDialog) {//初始化
            mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            mDialog.setCanceledOnTouchOutside(mCanceledOnTouchOutside);
            mDialog.setCancelable(mCancelable);
            Window window = mDialog.getWindow();
            if (null != window) {
                window.getDecorView().setPadding(0, 0, 0, 0);
                window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                WindowManager.LayoutParams lp = window.getAttributes();
                lp.width = DEFAULT_WIDTH;
                lp.height = DEFAULT_HEIGHT;
                lp.gravity = DEFAULT_GRAVITY;
                lp.windowAnimations = android.R.style.Animation_InputMethod;
                window.setAttributes(lp);
            }
            mDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
                @Override
                public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
                    return !mCancelable;
                }
            });
        }
        return mDialog;
    }
    /**
     * 設(shè)置位置
     * @param gravity
     */
    public void setGravity(int gravity) {
        DEFAULT_GRAVITY = gravity;
    }
    /**
     * 設(shè)置寬
     * @param width
     */
    public void setWidth(int width) {
        DEFAULT_WIDTH = width;
    }
    /**
     * 設(shè)置高
     * @param height
     */
    public void setHeight(int height) {
        DEFAULT_HEIGHT = height;
    }
    /**
     * 設(shè)置點(diǎn)擊返回按鈕是否可取消
     *
     * @param cancelable
     */
    public void setCancelable(boolean cancelable) {
        mCancelable = cancelable;
    }
    /**
     * 設(shè)置點(diǎn)擊外部是否可取消
     *
     * @param canceledOnTouchOutside
     */
    public void setCanceledOnTouchOutside(boolean canceledOnTouchOutside) {
        mCanceledOnTouchOutside = canceledOnTouchOutside;
    }
    /**
     * 設(shè)置布局
     *
     * @return
     */
    protected abstract int getLayoutId();
    /**
     * 初始化Views
     *
     * @param v
     */
    protected abstract void initViews(View v);
}

以上就是Android DialogFragment使用之基類(lèi)封裝的詳細(xì)內(nèi)容,更多關(guān)于Android DialogFragment基類(lèi)封裝的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Andriod studio 打包aar 的方法

    Andriod studio 打包aar 的方法

    這篇文章主要介紹了Andriod studio 打包aar的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-12-12
  • Android使用Dialog風(fēng)格彈出框的Activity

    Android使用Dialog風(fēng)格彈出框的Activity

    這篇文章主要為大家詳細(xì)介紹了Android使用Dialog風(fēng)格彈出框的Activity,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android開(kāi)發(fā)中ProgressDialog簡(jiǎn)單用法示例

    Android開(kāi)發(fā)中ProgressDialog簡(jiǎn)單用法示例

    這篇文章主要介紹了Android開(kāi)發(fā)中ProgressDialog簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了Android使用ProgressDialog的進(jìn)度條顯示與關(guān)閉、更新等事件響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • android設(shè)備不識(shí)別awk命令 缺少busybox怎么辦

    android設(shè)備不識(shí)別awk命令 缺少busybox怎么辦

    這篇文章主要為大家詳細(xì)介紹了android設(shè)備不識(shí)別awk命令,缺少busybox的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Android 中的類(lèi)文件和類(lèi)加載器詳情

    Android 中的類(lèi)文件和類(lèi)加載器詳情

    這篇文章主要介紹了Android 中的類(lèi)文件和類(lèi)加載器詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • 詳解Android 中的文件存儲(chǔ)

    詳解Android 中的文件存儲(chǔ)

    這篇文章主要介紹了Android 中的文件存儲(chǔ)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下
    2021-03-03
  • android?studio項(xiàng)目:綁定服務(wù)和線程實(shí)現(xiàn)計(jì)時(shí)器

    android?studio項(xiàng)目:綁定服務(wù)和線程實(shí)現(xiàn)計(jì)時(shí)器

    這篇文章主要介紹了android?studio項(xiàng)目:綁定服務(wù)和線程實(shí)現(xiàn)計(jì)時(shí)器,完成一個(gè)秒表,具備啟停功能,通過(guò)綁定服務(wù)實(shí)現(xiàn)功能,通過(guò)Thread+handler更新界面,需要的朋友可以參考一下
    2021-12-12
  • Android編程實(shí)現(xiàn)對(duì)文件夾里文件排序的方法

    Android編程實(shí)現(xiàn)對(duì)文件夾里文件排序的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)對(duì)文件夾里文件排序的方法,涉及Android文件操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-01-01
  • Android UI開(kāi)發(fā)中所遇到的各種坑

    Android UI開(kāi)發(fā)中所遇到的各種坑

    今天小編就為大家分享一篇關(guān)于Android UI開(kāi)發(fā)中所遇到的各種坑,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Android如何防止apk程序被反編譯(尊重勞動(dòng)成果)

    Android如何防止apk程序被反編譯(尊重勞動(dòng)成果)

    作為Android應(yīng)用開(kāi)發(fā)者,不得不面對(duì)一個(gè)尷尬的局面,就是自己辛辛苦苦開(kāi)發(fā)的應(yīng)用可以被別人很輕易的就反編譯出來(lái),天下痛苦之事莫過(guò)于此啊,本文會(huì)介紹一種防止apk程序被反編譯的方法,感興趣的朋友可以了解下哦
    2013-01-01

最新評(píng)論