通过在布局文件下设置android:background="@color/dialog_background"来配置bottomsheetdialog的背景颜色
values/color.xml下自定义颜色
<color name="dialog_background">#FFFFFFFF</color>
对应的也在values-night/color.xml文件夹下自定义相同的颜色
<color name="dialog_background">#000000</color>
但是颜色只根据系统的深浅色模式变化,无法根据
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
来变化,有知道的朋友能告知一下,网上找了好久没有结果,无奈麻烦各位!
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
View bottomSheetView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.dialog_date_picker, findViewById(R.id.bottomSheetContainer));
bottomSheetDialog.setContentView(bottomSheetView);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
recreate();
}
});
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
recreate();
}
});
findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
recreate();
}
});
findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bottomSheetDialog.show();
}
});
}
}