
dialog 创建和使用。
首先是使用
class MainActivity : AppCompatActivity() { private var birthday = "2020-12-6" private val dialog by lazy { SelectBirthdayDialog(this) } @SuppressLint("SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) dialog.setDefaultData(birthday) hello_world.setOnClickListener { dialog.setDefaultData(birthday) dialog.setOnDismissListener { run { } } dialog.setOnSelectBirthdayLinsener { yearData, monthData, dayData -> birthday = yearData.value + "-" + monthData.value + "-" + dayData.value hello_world.text = "选择的出生日期为:$birthday" dialog.dismiss() } dialog.show() } } }
SelectBirthdayDialog 创建 集成dialog,让它从底部弹起设置
getWindow().setGravity(Gravity.BOTTOM); getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
为了保证空白地方空白,设置主题
<style name="select_birthday_dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:background">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:backgroundDimAmount">0.6</item> </style>
这样设置为
public SelectBirthdayDialog(@NonNull Context context) { su