国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

BottomSheetDialog的使用

2019-11-09 15:57:20
字體:
來源:轉載
供稿:網友

BottomSheetDialog的簡單使用

BottomSheetDialog bsd = new MyBottomSheetDialog(this);bsd.setContentView(R.layout.items);//布局為任意布局bsd.show();

比較坑的地方是:

1.向下滑動后,再show不出來

當我們設置bottomSheetDialog點擊后不new,而是直接show的話,然而當我們會bottomSheetDialog 展開后,我們將BottomSheetDialog劃下隱藏后, 再點擊展示BottomSheetDialog后,會發現頁面只是變暗,BottomsheetDialog未展開,這是由于之前我們劃下收縮隱藏BottomSheetDialog后,bottomSheetDialogBehavior的狀態為隱藏,再次show之后,系統未恢復bottomSheetDialogBehavior的狀態,還是隱藏,所以再次點擊后頁面只是變暗。(未能解決,暫時只能每次都new)

2.解決BottomSheetDialog狀態欄變黑的問題

繼承BottomSheetDialog并重寫其PRotected void onCreate(Bundle savedInstanceState)方法

Activity mActivity; public MyBottomSheetDialog(@NonNull Context context) { super(context); mActivity = (Activity) context; }protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int screenHeight = getScreenHeight(mActivity); int statusBarHeight = getStatusBarHeight(getContext()); int dialogHeight = screenHeight - statusBarHeight; getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, dialogHeight == 0 ? ViewGroup.LayoutParams.MATCH_PARENT : dialogHeight); } private static int getScreenHeight(Activity activity) { DisplayMetrics displaymetrics = new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); return displaymetrics.heightPixels; } private static int getStatusBarHeight(Context context) { int statusBarHeight = 0; Resources res = context.getResources(); int resourceId = res.getIdentifier("status_bar_height", "dimen", "android"); if (resourceId > 0) { statusBarHeight = res.getDimensionPixelSize(resourceId); } return statusBarHeight; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿鹿县| 东阳市| 屯昌县| 松溪县| 和林格尔县| 年辖:市辖区| 连云港市| 德江县| 洞头县| 日照市| 琼海市| 康保县| 平安县| 延寿县| 桃江县| 肃南| 杭州市| 同德县| 镇坪县| 安龙县| 若羌县| 阿城市| 云龙县| 苍梧县| 广州市| 水城县| 高要市| 西乌珠穆沁旗| 伊川县| 澄迈县| 丰顺县| 精河县| 晋江市| 清流县| 晋宁县| 竹溪县| 五寨县| 城口县| 杭锦后旗| 昭通市| 长兴县|