Android 分享界面,使用BottomSheetDialog(可上拉到頂部,可下拉消失,仿知乎、掘金等)

發現掘金和知乎的分享界面效果挺好的,比自己的用的AlertDialog和 PopupWindow的效果好太多就像學習一下,如圖是掘金的文章分享界面
掘金文章分享界面
其實這種效果是一個特殊的Dialog—-BottomSheetDialog
下面是我做的案例效果圖
Demo效果圖

  • 點擊方法
public void showDialog(View view) {


        View contentView = LayoutInflater.from(this)
                .inflate(R.layout.list, null);
        RecyclerView recyclerView= (RecyclerView) contentView.findViewById(R.id.recycler);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
        Adapter adapter = new Adapter();
        recyclerView.setAdapter(adapter);

        final BottomSheetDialog dialog = new BottomSheetDialog(this);
        dialog.setContentView(contentView);

        dialog.show();
        adapter.setOnItemClickListener((position, text) -> {
            Toast.makeText(mContext, text, Toast.LENGTH_SHORT).show();
            dialog.dismiss();
        });
    }

聲明BottomSheetDialog後把View配置上,view的xml中就一個textView和一個RecyclerView,在知乎的這個界面是有廣告位的,看起來也是毫無違和感。
知乎文章分享界面

用法很簡單,只不過一開始看到這個界面還以爲是自定義的Dialog,沒想到是自帶的控件,效果真的很贊,當然也可以寫成網格佈局,如果內容較少的話,是不會上拉到頂部的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章