Skip to content

Instantly share code, notes, and snippets.

View foxanna's full-sized avatar
💭
👩‍💻💙📱🇺🇦

Anna Leushchenko foxanna

💭
👩‍💻💙📱🇺🇦
View GitHub Profile
<ContentPage ...
xmlns:effects="clr-namespace:<project>.Effects;assembly=<project>"
BackgroundColor="PaleTurquoise">
<ContentPage.Resources>
<ResourceDictionary>
<x:Int32 x:Key="SmallCornerRadius">4</x:Int32>
<x:Int32 x:Key="MediumCornerRadius">8</x:Int32>
<x:Int32 x:Key="LargeCornerRadius">16</x:Int32>
</ResourceDictionary>
namespace <project>.Controls
{
public class SelectableLabel : Editor
{
public SelectableLabel()
{
}
}
}
namespace <project>.Droid.Controls
{
public class CustomEditText : FormsEditText
{
public CustomEditText(Context context) : base(context)
{
}
protected override void OnAttachedToWindow()
{
[assembly: ExportRenderer(typeof(SelectableLabel), typeof(SelectableLabelRenderer))]
namespace <project>.Droid.Controls
{
public class SelectableLabelRenderer : EditorRenderer
{
public SelectableLabelRenderer(Context context) : base(context)
{
}
[assembly: ExportRenderer(typeof(SelectableLabel), typeof(SelectableLabelRenderer))]
namespace <project>.iOS.Controls
{
public class SelectableLabelRenderer : EditorRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
{
base.OnElementChanged(e);
protected override FormsEditText CreateNativeControl() =>
new CustomEditText(Context);
public class CustomSelectionActionModeCallback implements ActionMode.Callback {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
try {
editText.setCustomSelectionActionModeCallback(new CustomSelectionActionModeCallback());
public class CustomInsertionActionModeCallback implements ActionMode.Callback {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
return false;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
editText.setCustomInsertionActionModeCallback(new CustomInsertionActionModeCallback());