我坚持了整整2天,这样做。 到目前为止,我只能使用样式XML文件更改标题文本颜色。除此之外没有任何属性可行。几乎涵盖了所有STACK OVERFLOW问题,但没有运气,无法找到答案。
这就是我想要做的事情:
(对焦删除按钮)
截至目前,我只能通过编程获取titleDivider,Positive和Negative按钮并指定背景来完成此操作。但那说我讨厌通过编程方式做到这一点。
有人请帮助我。
答案 0 :(得分:1)
您可以使用此项目AlertDialogPro。 将此项目包含在您的项目中并定义您的主题,如下所示:
<style name="YourAppTheme.AlertDialogProTheme" parent="AlertDialogProTheme.Holo.Light">
<!-- Custom the title style -->
<item name="android:windowTitleStyle">@style/YourDialogWindowTitle</item>
<!-- Change the title divider to green -->
<item name="adpTitleDividerBackground">@color/your_green_color</item>
<!-- Change the button style -->
<item name="adpButtonBarButtonStyle">@style/YourButtonStyle</item>
</style>
<style name="YourDialogWindowTitle" parent="DialogWindowTitle.Holo.Light">
<item name="android:textColor">@color/your_green_color</item>
</style>
<style name="YourButtonStyle" parent="Widget.Holo.Button.Light">
<item name="android:background">@drawable/your_button_background_selector</item>
<item name="android:textColor">@color/your_button_text_selector</item>
</style>
并使用属性“alertDialogProTheme”:
为您的应用主题指定此主题<style name="AppTheme" parent="AppBaseTheme">
...
<item name="alertDialogProTheme">@style/YourAppTheme.AlertDialogProTheme</item>
</style>
使用AlertDialogPro.Builder构建对话框:
AlertDialogPro.Builder builder = new AlertDialogPro.Builder(getContext());
builder.setTitle("Delete").
setMessage("Are you sure?").
setPositiveButton("Delete", null).
setNegativeButton("Cancel", null).
show();