您的位置:首页 > 移动开发 > Android开发

第一篇博客 干掉BottomSheetDialog的默认白色框

2016-12-21 14:34 1221 查看
最近在做分享,要拉取android系统的全部可被分享的程序,但是为了程序的美观(主要是产品不满意),当然不能用系统自带的样式啦,然后决定做知乎那样的分享弹窗,去百度搜搜找到了DialogPlus
,说实话这个好用又方便,样式也好调,但是这个有个不好的地方,就是滑动的时候会上下抖动,当你数据越多的时候都懂越厉害。这样肯定是不行,然后再去找,发现了BottomSheetDialog,竟然是android自己的,我被自己给傻到了,傻乎乎的到处去找第三方,这个用起来也是蛮简单的,基本不用配置什么。

BottomSheetDialog dialog = new BottomSheetDialog(mActivity);
dialog.setContentView(R.layout.dialog_share_list);

initDialog(dialog);
dialog.show();

private void initDialog(final BottomSheetDialog dialog) {
mRecyclerView = (RecyclerView) dialog.findViewById(R.id.dialog_share_recycle);
mRecyclerView.setLayoutManager(new GridLayoutManager(mActivity, 3));
mRecyclerView.setAdapter(getAdapter());
mAdapter.setOnItemClickListener(new SystemShareDialogAdapter.OnItemClickListener() {
@Override public void onItemClick(View v, int position) {
onClick(dialog, position);
}
});
}

就是这么简单,但是当我要用自己的样式的时候,无论给RecyclerView怎样设置背景样式都没用,后来发现是因为它上面有自己的一层布局,

dialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet).setBackgroundColor(mActivity.getResources().getColor(R.color.transparent));

上面标红的就是系统的布局,直接找到它,然后给它设全透明就好了,一句话代码,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android