Android中使用Shape標籤給BottomSheetDialog(其他View同理)設置圓角以及透明背景

一、drawable文件下創建shape文件

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
     <!-- rectangle表示爲矩形 -->
    
    <!-- 填充的顏色 -->
    <solid android:color="@color/white" />
    
    <!-- 邊框的顏色和粗細 -->
    <stroke
    android:width="1dp"
    android:color="@color/white" />
    
    <!-- android:radius 關鍵點,圓角的半徑 -->
    <corners
      android:radius="2dp"    
      android:topLeftRadius="8dp"
      android:topRightRadius="8dp"
      android:bottomRightRadius="0dp"
      android:bottomLeftRadius="0dp" />
 
</shape>
  1. 在設置圓角時,圓角半徑的大小必須大於1dp,否則是沒有圓角效果的。
  2. 如果你想單獨設置某幾個角是圓角, 你必須首先聲明radius 屬性(必須大於1dp), 然後在其他四個角的屬性中設置每個角的實際想要的半徑大小, 不想圓角的設置爲0dp

將該drawable文件設爲你BottomSheetDialog佈局的背景即可。成功則無需第二步,如果發現圓角和背景重疊了則繼續第二步。

二、設置BottomSheetDialog的背景爲透明

  1. style.xml文件夾下添加下面兩個style
<style name="BottomSheetDialog" parent="Theme.Design.Light.BottomSheetDialog">
    <item name="bottomSheetStyle">@style/bottomSheetStyleWrapper</item>
</style>
<style name="bottomSheetStyleWrapper" parent="Widget.Design.BottomSheet.Modal">
    <item name="android:background">@android:color/transparent</item>
</style>
  1. 初始化BottomSheetDialog的時候指定上面的style
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this,R.style.BottomSheetDialog);
bottomSheetDialog.setContentView(R.layout.bottom_sheet_dialog);
bottomSheetDialog.show();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章