diff options
author | Vincent Breitmoser <valodim@mugenguild.com> | 2014-05-08 18:06:12 +0200 |
---|---|---|
committer | Vincent Breitmoser <valodim@mugenguild.com> | 2014-05-08 18:12:55 +0200 |
commit | 4ba06e7735eb64c7b3d02c605e8c91fe986c1976 (patch) | |
tree | cd7d7aa916f6d283d63529e202fc902be29f75ce /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java | |
parent | cbc3988628d09ed8a4fe967e1f21786f46cb038b (diff) | |
download | open-keychain-4ba06e7735eb64c7b3d02c605e8c91fe986c1976.tar.gz open-keychain-4ba06e7735eb64c7b3d02c605e8c91fe986c1976.tar.bz2 open-keychain-4ba06e7735eb64c7b3d02c605e8c91fe986c1976.zip |
ui: purplize dialog headers (huge hack inside)
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java new file mode 100644 index 000000000..4b40b7ef1 --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java @@ -0,0 +1,40 @@ +package org.sufficientlysecure.keychain.ui.dialog; + +import android.app.Activity; +import android.app.AlertDialog; +import android.view.View; +import android.widget.TextView; + +import org.sufficientlysecure.keychain.R; + +/** This class extends AlertDiaog.Builder, styling the header using emphasis color. + * Note that this class is a huge hack, because dialog boxes aren't easily stylable. + * Also, the dialog NEEDS to be called with show() directly, not create(), otherwise + * the order of internal operations will lead to a crash! + */ +public class CustomAlertDialogBuilder extends AlertDialog.Builder { + + public CustomAlertDialogBuilder(Activity activity) { + super(activity); + } + + @Override + public AlertDialog show() { + AlertDialog dialog = super.show(); + + int dividerId = dialog.getContext().getResources().getIdentifier("android:id/titleDivider", null, null); + View divider = dialog.findViewById(dividerId); + if (divider != null) { + divider.setBackgroundColor(dialog.getContext().getResources().getColor(R.color.emphasis)); + } + + int textViewId = dialog.getContext().getResources().getIdentifier("android:id/alertTitle", null, null); + TextView tv = (TextView) dialog.findViewById(textViewId); + if (tv != null) { + tv.setTextColor(dialog.getContext().getResources().getColor(R.color.emphasis)); + } + + return dialog; + } + +} |