日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

android 底部弹框 BottomSheetDialog 的使用

發(fā)布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 底部弹框 BottomSheetDialog 的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先簡單的說下普通彈框使用 步驟

?首先項目需要添加design 庫?

?簡單的使用和dialog 一樣 如下

                BottomSheetDialog sheelt = new BottomSheetDialog(BottomSheeltActvity.this);View contentView = LayoutInflater.from(BottomSheeltActvity.this).inflate(R.layout.bottom__pop_item, null);sheelt.setContentView(contentView);sheelt.show();
 這樣就彈框了,簡單吧

下面給其添加一個監(jiān)聽事件

public class BottomSheeltActvity extends AppCompatActivity {BottomSheetDialog sheelt;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.bottom_sheet_activity_layout);findViewById(R.id.txt).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {sheelt = new BottomSheetDialog(BottomSheeltActvity.this);View contentView = LayoutInflater.from(BottomSheeltActvity.this).inflate(R.layout.bottom__pop_item, null);sheelt.setContentView(contentView);sheelt.show();//設(shè)置背景為透明sheelt.getWindow().findViewById(R.id.design_bottom_sheet).setBackgroundResource(android.R.color.transparent);//設(shè)置id 的監(jiān)聽TextView photo = contentView.findViewById(R.id.photo);photo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(BottomSheeltActvity.this, "點擊了", Toast.LENGTH_SHORT).show();sheelt.dismiss();//消失}});}});}
}

下面說下其他的注意點

1 BottomSheetDialog 默認(rèn)點擊彈框之外的區(qū)域 彈框消失,如果想讓其不消失可以設(shè)置如下
sheelt.setCanceledOnTouchOutside(false);

2?BottomSheetDialog 點擊消失的方法

sheelt.dismiss();

3 設(shè)置背景透明

sheelt.getWindow().findViewById(R.id.design_bottom_sheet).setBackgroundResource(android.R.color.transparent);

可能有人會問這個id那來的,這個是系統(tǒng)自帶的,直接賦值過去使用即可

4 彈框布局上面2個角變?yōu)閳A角

這個可以用shape?

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><cornersandroid:topLeftRadius="10dp"android:topRightRadius="10dp" /><solid android:color="#ffffff" />
</shape>

但是需要設(shè)置彈框背景為透明 否則 顯示的效果 被默認(rèn)的白色背景擋著可也看不到效果

5 彈框 分模塊 有間距的那那種?

這個同樣布局設(shè)置距離即可,但是需要設(shè)置背景為透明,然后在吧自己寫的彈框的區(qū)域設(shè)置為自己想要的顏色即可。。

6 修改BottomSheetDialog 的默認(rèn)高度

這里說下自己在項目中什么地方用到了這個修改默認(rèn)高度

假如 彈框里面有一個控件點擊 彈框增提布局增加1/3 的高度,再次點擊 這個高度消失 ,如果彈框整體布局沒有高出默認(rèn)高度

沒有問題 ,如果彈框布局高于默認(rèn)高度 這樣彈框之后它它不會增加而是高度一致,變成了滑動了

如果使用popwindow 做這樣的彈框 你會發(fā)現(xiàn)效果非常的不好看,有興趣的可以自己試試 ,這里只給出修改默認(rèn)高度的

方法

BottomSheetBehavior sheetBehavior = BottomSheetBehavior.from((View) contentView.getParent());
sheetBehavior.setPeekHeight(1500);//修改默認(rèn)的高度

到這里基本知識就講完了,希望能幫助到您。

?

?

?

總結(jié)

以上是生活随笔為你收集整理的android 底部弹框 BottomSheetDialog 的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。