Merge pull request #3211 from NativeScript/zhecheva/dialog-button-backgroundColor

Background of the buttons inside dialog can be modified with CSS
This commit is contained in:
Maya Zhecheva
2016-12-05 10:06:33 +02:00
committed by GitHub
6 changed files with 43 additions and 2 deletions

View File

@@ -60,6 +60,18 @@ export function getButtonColor(): color.Color {
return buttonColor;
}
var buttonBackgroundColor: color.Color;
export function getButtonBackgroundColor(): color.Color {
if (!buttonBackgroundColor) {
var btn = new button.Button();
applySelectors(btn);
buttonBackgroundColor = btn.backgroundColor;
btn.onUnloaded();
}
return buttonBackgroundColor;
}
var textFieldColor: color.Color;
export function getTextFieldColor(): color.Color {
if (!textFieldColor) {

View File

@@ -41,15 +41,22 @@ function showDialog(builder: android.app.AlertDialog.Builder) {
}
let buttonColor = dialogsCommon.getButtonColor();
if (buttonColor) {
let buttonBackgroundColor = dialogsCommon.getButtonBackgroundColor();
if (buttonColor || buttonBackgroundColor) {
let buttons : android.widget.Button[] = [];
for (let i = 0; i < 3; i++) {
let id = dlg.getContext().getResources().getIdentifier("android:id/button" + i, null, null);
buttons[i] = <android.widget.Button>dlg.findViewById(id);
}
buttons.forEach(button => {
if (button) {
button.setTextColor(buttonColor.android);
if (buttonColor) {
button.setTextColor(buttonColor.android);
}
if (buttonBackgroundColor) {
button.setBackgroundColor(buttonBackgroundColor.android);
}
}
});
}