最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android?DialogFragment使用之基類封裝

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

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

對(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使用之基類封裝的詳細(xì)內(nèi)容,更多關(guān)于Android DialogFragment基類封裝的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android處理圖像數(shù)據(jù)轉(zhuǎn)換的各種方法

    Android處理圖像數(shù)據(jù)轉(zhuǎn)換的各種方法

    這篇文章主要介紹了Android處理圖像數(shù)據(jù)轉(zhuǎn)換的各種方法,本文講解了RGB值轉(zhuǎn)Bitmap、Color值轉(zhuǎn)Bitmap、字節(jié)數(shù)組轉(zhuǎn)Bitmap、讀取文件轉(zhuǎn)Bitmap、讀取資源轉(zhuǎn)Bitmap、輸入流轉(zhuǎn)Bitmap等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Kotlin中的高階函數(shù)深入講解

    Kotlin中的高階函數(shù)深入講解

    這篇文章主要給大家介紹了關(guān)于Kotlin中高階函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • android viewpager實(shí)現(xiàn)豎屏滑動(dòng)效果

    android viewpager實(shí)現(xiàn)豎屏滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了android viewpager實(shí)現(xiàn)豎屏滑動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android中使用PULL方式解析XML文件深入介紹

    Android中使用PULL方式解析XML文件深入介紹

    本文將詳細(xì)介紹Android如何使用PULL方式解析XML文件,在開發(fā)過(guò)程中會(huì)經(jīng)常使用到,有需要的朋友可以參考下
    2012-12-12
  • Android QQ登錄界面繪制代碼

    Android QQ登錄界面繪制代碼

    這篇文章主要為大家詳細(xì)介紹了Android QQ登錄界面繪制代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android GridView不改變背景色實(shí)現(xiàn)網(wǎng)格線效果

    Android GridView不改變背景色實(shí)現(xiàn)網(wǎng)格線效果

    這篇文章主要介紹了Android GridView不改變背景色實(shí)現(xiàn)網(wǎng)格線效果,需要的朋友可以參考下
    2016-03-03
  • Android開發(fā)Jetpack組件LiveData使用講解

    Android開發(fā)Jetpack組件LiveData使用講解

    LiveData是Jetpack組件的一部分,更多的時(shí)候是搭配ViewModel來(lái)使用,相對(duì)于Observable,LiveData的最大優(yōu)勢(shì)是其具有生命感知的,換句話說(shuō),LiveData可以保證只有在組件( Activity、Fragment、Service)處于活動(dòng)生命周期狀態(tài)的時(shí)候才會(huì)更新數(shù)據(jù)
    2022-08-08
  • Android webView字體突然變小的原因及解決

    Android webView字體突然變小的原因及解決

    這篇文章主要介紹了Android webView字體突然變小的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-03-03
  • Android添加指紋解鎖功能的實(shí)現(xiàn)代碼

    Android添加指紋解鎖功能的實(shí)現(xiàn)代碼

    當(dāng)開發(fā)的APP需要加密驗(yàn)證時(shí)可以考慮添加系統(tǒng)指紋解鎖功能。這篇文章主要介紹了Android添加指紋解鎖功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2018-07-07
  • Android實(shí)現(xiàn)自定義View控件的流程詳解

    Android實(shí)現(xiàn)自定義View控件的流程詳解

    這篇文章主要為大家詳細(xì)介紹了Android中實(shí)現(xiàn)自定義View控件的流程,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-06-06

最新評(píng)論

曲沃县| 恩平市| 张掖市| 安福县| 石渠县| 年辖:市辖区| 孟津县| 古田县| 中山市| 宾阳县| 屏东县| 兴业县| 张掖市| 东台市| 正阳县| 三门峡市| 油尖旺区| 雅江县| 库尔勒市| 义马市| 上高县| 隆林| 天津市| 四会市| 建始县| 东光县| 安溪县| 凯里市| 桐庐县| 新邵县| 锡林郭勒盟| 阳高县| 滨州市| 佛坪县| 墨玉县| 东兰县| 大埔县| 渝中区| 林口县| 乐都县| 思南县|