我想在警告对话框中更改默认按钮样式。
标准警报对话框片段(在Android L中)如下所示:
我希望将右按钮设置为普通按钮而不是无边框按钮。谷歌本身似乎在各种对话中使用这种模式,例如:
有没有人知道这是否可行,而无需从头开始重新创建整个对话框?
答案 0 :(得分:4)
您可以使用以下属性为主题设置样式:android:buttonBarPositiveButtonStyle
,android:buttonBarNegativeButtonStyle
和android:buttonBarNeutralButtonStyle
。
答案 1 :(得分:0)
好的,这个问题是通过更新到(刚刚发布的)版本21自动解决的。现在这些按钮自动为原色: - )
编辑:它们不是原色,而是Android的基本绿松石......
答案 2 :(得分:0)
此解决方案用于在AppCompatDialogFragment
中更改带有材质效果的按钮颜色。
<android.support.v7.widget.AppCompatButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp"
android:text="@string/buttin"
android:theme="@style/AppTheme.MyButton"
/>
<style name="AppTheme.MyButton" parent="Theme.AppCompat.Dialog.Alert">
<item name="android:colorButtonNormal">@color/button_color</item>
<item name="android:textColor">@color/text_color</item>
</style>
<style name="AppTheme.MyButton" parent="Theme.AppCompat.Dialog.Alert">
<item name="colorButtonNormal">@color/button_color</item>
<item name="android:textColor">@color/text_color</item>
</style>
答案 3 :(得分:0)
科特林
在应用的主题/样式中,添加以下行:
stages {
stage('Open and Check ticket status’) {
steps {
script {
dockerImage.inside(" -u root ") {
// Open ticket
withCredentials([string(credentialsId: JENKINS_API_KEY, variable: 'API_KEY')]) {
cmd = "curl -X POST -H 'x-api-key:${API_KEY}' '${URL}/requests' | jq -r '.requestId'"
REQUEST_ID = sh(script: cmd, returnStdout: true).trim()
print(REQUEST_ID)
}
// Check ticket Status
withCredentials([string(credentialsId: JENKINS_API_KEY, variable: 'API_KEY')]) {
cmd = "curl -X GET -H 'x-api-key:${API_KEY}' '${URL}/requests/${REQUEST_ID}' | jq -r '.requestStatus'"
REQUEST_STATUS = sh(script:cmd, returnStdout: true).trim()
print(REQUEST_STATUS)
}
}
}
}
}
}
然后添加以下样式:
<item name="android:buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
<item name="android:buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
<item name="android:buttonBarNeutralButtonStyle">@style/NeutralButtonStyle</item>
使用此方法无需在AlertDialog构建器中设置主题。