mirror of
https://github.com/bitwarden/mobile
synced 2025-12-15 07:43:37 +00:00
dark keyboard on dark themes. resolves #588
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using Bit.iOS.Autofill.Models;
|
using Bit.iOS.Autofill.Models;
|
||||||
using Foundation;
|
using Foundation;
|
||||||
using UIKit;
|
using UIKit;
|
||||||
@@ -27,6 +27,10 @@ namespace Bit.iOS.Autofill
|
|||||||
CancelBarButton.Title = AppResources.Cancel;
|
CancelBarButton.Title = AppResources.Cancel;
|
||||||
SearchBar.Placeholder = AppResources.Search;
|
SearchBar.Placeholder = AppResources.Search;
|
||||||
SearchBar.BackgroundColor = SearchBar.BarTintColor = ThemeHelpers.ListHeaderBackgroundColor;
|
SearchBar.BackgroundColor = SearchBar.BarTintColor = ThemeHelpers.ListHeaderBackgroundColor;
|
||||||
|
if(!ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
SearchBar.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
|
||||||
TableView.RowHeight = UITableView.AutomaticDimension;
|
TableView.RowHeight = UITableView.AutomaticDimension;
|
||||||
TableView.EstimatedRowHeight = 44;
|
TableView.EstimatedRowHeight = 44;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using Bit.App.Resources;
|
|||||||
using Bit.Core.Abstractions;
|
using Bit.Core.Abstractions;
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Models.View;
|
using Bit.Core.Models.View;
|
||||||
|
using Bit.iOS.Core.Utilities;
|
||||||
using Bit.iOS.Core.Views;
|
using Bit.iOS.Core.Views;
|
||||||
using CoreGraphics;
|
using CoreGraphics;
|
||||||
using Foundation;
|
using Foundation;
|
||||||
@@ -203,6 +204,10 @@ namespace Bit.iOS.Core.Services
|
|||||||
{
|
{
|
||||||
input.KeyboardType = UIKeyboardType.NumberPad;
|
input.KeyboardType = UIKeyboardType.NumberPad;
|
||||||
}
|
}
|
||||||
|
if(!ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
input.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
var vc = GetPresentedViewController();
|
var vc = GetPresentedViewController();
|
||||||
vc?.PresentViewController(alert, true, null);
|
vc?.PresentViewController(alert, true, null);
|
||||||
@@ -469,4 +474,4 @@ namespace Bit.iOS.Core.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ namespace Bit.iOS.Core.Views
|
|||||||
BackgroundColor = ThemeHelpers.BackgroundColor
|
BackgroundColor = ThemeHelpers.BackgroundColor
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if(!ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
TextView.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
|
||||||
ContentView.Add(TextView);
|
ContentView.Add(TextView);
|
||||||
ContentView.AddConstraints(new NSLayoutConstraint[] {
|
ContentView.AddConstraints(new NSLayoutConstraint[] {
|
||||||
NSLayoutConstraint.Create(TextView, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Leading, 1f, 15f),
|
NSLayoutConstraint.Create(TextView, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Leading, 1f, 15f),
|
||||||
@@ -78,6 +83,11 @@ namespace Bit.iOS.Core.Views
|
|||||||
BackgroundColor = ThemeHelpers.BackgroundColor
|
BackgroundColor = ThemeHelpers.BackgroundColor
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if(!ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
TextField.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
|
||||||
if(useLabelAsPlaceholder)
|
if(useLabelAsPlaceholder)
|
||||||
{
|
{
|
||||||
TextField.Placeholder = labelName;
|
TextField.Placeholder = labelName;
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ namespace Bit.iOS.Core.Views
|
|||||||
BackgroundColor = ThemeHelpers.BackgroundColor
|
BackgroundColor = ThemeHelpers.BackgroundColor
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if(!ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
TextField.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
|
||||||
var width = (float)UIScreen.MainScreen.Bounds.Width;
|
var width = (float)UIScreen.MainScreen.Bounds.Width;
|
||||||
var toolbar = new UIToolbar(new RectangleF(0, 0, width, 44))
|
var toolbar = new UIToolbar(new RectangleF(0, 0, width, 44))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ namespace Bit.iOS.Renderers
|
|||||||
Control.TextContainerInset = new UIEdgeInsets(0, 0, 0, 0);
|
Control.TextContainerInset = new UIEdgeInsets(0, 0, 0, 0);
|
||||||
Control.TextContainer.LineFragmentPadding = 0;
|
Control.TextContainer.LineFragmentPadding = 0;
|
||||||
UpdateTintColor();
|
UpdateTintColor();
|
||||||
|
UpdateKeyboardAppearance();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,5 +37,13 @@ namespace Bit.iOS.Renderers
|
|||||||
{
|
{
|
||||||
Control.TintColor = Element.TextColor.ToUIColor();
|
Control.TintColor = Element.TextColor.ToUIColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UpdateKeyboardAppearance()
|
||||||
|
{
|
||||||
|
if(!Core.Utilities.ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
Control.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ namespace Bit.iOS.Renderers
|
|||||||
Control.ClearButtonMode = UITextFieldViewMode.WhileEditing;
|
Control.ClearButtonMode = UITextFieldViewMode.WhileEditing;
|
||||||
UpdateTintColor();
|
UpdateTintColor();
|
||||||
UpdateFontSize();
|
UpdateFontSize();
|
||||||
|
UpdateKeyboardAppearance();
|
||||||
iOSHelpers.SetBottomBorder(Control);
|
iOSHelpers.SetBottomBorder(Control);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -57,5 +58,13 @@ namespace Bit.iOS.Renderers
|
|||||||
{
|
{
|
||||||
Control.TintColor = Element.TextColor.ToUIColor();
|
Control.TintColor = Element.TextColor.ToUIColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UpdateKeyboardAppearance()
|
||||||
|
{
|
||||||
|
if(!Core.Utilities.ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
Control.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,15 @@ namespace Bit.iOS.Renderers
|
|||||||
var descriptor = UIFontDescriptor.PreferredBody;
|
var descriptor = UIFontDescriptor.PreferredBody;
|
||||||
Control.Font = UIFont.FromDescriptor(descriptor, descriptor.PointSize);
|
Control.Font = UIFont.FromDescriptor(descriptor, descriptor.PointSize);
|
||||||
iOSHelpers.SetBottomBorder(Control);
|
iOSHelpers.SetBottomBorder(Control);
|
||||||
|
UpdateKeyboardAppearance();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateKeyboardAppearance()
|
||||||
|
{
|
||||||
|
if(!Core.Utilities.ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
Control.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
28
src/iOS/Renderers/CustomSearchBarRenderer.cs
Normal file
28
src/iOS/Renderers/CustomSearchBarRenderer.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
using Bit.iOS.Renderers;
|
||||||
|
using UIKit;
|
||||||
|
using Xamarin.Forms;
|
||||||
|
using Xamarin.Forms.Platform.iOS;
|
||||||
|
|
||||||
|
[assembly: ExportRenderer(typeof(SearchBar), typeof(CustomSearchBarRenderer))]
|
||||||
|
namespace Bit.iOS.Renderers
|
||||||
|
{
|
||||||
|
public class CustomSearchBarRenderer : SearchBarRenderer
|
||||||
|
{
|
||||||
|
protected override void OnElementChanged(ElementChangedEventArgs<SearchBar> e)
|
||||||
|
{
|
||||||
|
base.OnElementChanged(e);
|
||||||
|
if(e.NewElement is SearchBar)
|
||||||
|
{
|
||||||
|
UpdateKeyboardAppearance();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateKeyboardAppearance()
|
||||||
|
{
|
||||||
|
if(!Core.Utilities.ThemeHelpers.LightTheme)
|
||||||
|
{
|
||||||
|
Control.KeyboardAppearance = UIKeyboardAppearance.Dark;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -137,6 +137,7 @@
|
|||||||
<Compile Include="Migration\KeyChainStorageService.cs" />
|
<Compile Include="Migration\KeyChainStorageService.cs" />
|
||||||
<Compile Include="NFCReaderDelegate.cs" />
|
<Compile Include="NFCReaderDelegate.cs" />
|
||||||
<Compile Include="Renderers\CustomButtonRenderer.cs" />
|
<Compile Include="Renderers\CustomButtonRenderer.cs" />
|
||||||
|
<Compile Include="Renderers\CustomSearchBarRenderer.cs" />
|
||||||
<Compile Include="Renderers\CustomTabbedRenderer.cs" />
|
<Compile Include="Renderers\CustomTabbedRenderer.cs" />
|
||||||
<Compile Include="Renderers\CustomPickerRenderer.cs" />
|
<Compile Include="Renderers\CustomPickerRenderer.cs" />
|
||||||
<Compile Include="Renderers\CustomEntryRenderer.cs" />
|
<Compile Include="Renderers\CustomEntryRenderer.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user