私はAndroidプラットフォームのカスタム背景とXFのエントリを使用します。それがフォーカスされているとき、キーボードは入力のボトムラインをカバーします。Xamarin Forms。キーボードはアンドロイドでカスタム背景のエントリの底をカバーします
public class MessageEntryRenderer : EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (e.OldElement != null || this.Element == null)
return;
Control.Gravity = DefaultGravity;
var MessageEntry = Element as MessageEntry;
UpdateBackground(MessageEntry);
...
}
private void UpdateBackground(MessageEntry MessageEntry)
{
if (_renderer != null)
{
_renderer.Dispose();
_renderer = null;
}
_renderer = new BorderRenderer();
//Set to background object of type GradientDrawable
Control.SetBackground(_renderer.GetBorderBackground(MessageEntry.BorderColor, MessageEntry.BackgroundColor, MessageEntry.BorderWidth, MessageEntry.BorderRadius));
} }
画像: Entry with borders Keyboard covers bottom 私は一番下の行を表示する必要があります。私はこのようなパディングを追加しようとしました: private void UpdatePadding(MessageEntry MessageEntry) { Control.SetPadding((int)Forms.Context.ToPixels(MessageEntry.LeftPadding), 10, (int)Forms.Context.ToPixels(MessageEntry.RightPadding), 0);
しかし、それはエントリ内のテキストのためのパディングです。
}