Hi @Haviv Elbsz ,
Both Google and Apple recommend a minimum tap target size of 44–48 dp (density-independent pixels) to ensure accessibility and ease of interaction on touchscreens. A single character in a tight grid is very likely smaller than this threshold, potentially making it difficult for you to tap accurately.
If you're unable to revise the layout directly, one practical workaround is to expand the tap area by wrapping the Label
in a Border
or Frame
, then attaching the TapGestureRecognizer
to that container.
<Grid x:Name="MyCharacterGrid" RowDefinitions="Auto" ColumnDefinitions="*,*,*,*,*,*,*,*,*,*">
<Border Grid.Column="0"
Padding="10" <!--Increase hit area using Padding-->
Stroke="Transparent"
StrokeThickness="1"
BackgroundColor="LightGray"
x:Name="Cell0">
<Label Text="A"
HorizontalOptions="Center"
VerticalOptions="Center"
FontSize="20"
TextColor="Black"
x:Name="CharLabel0" />
<!--Attach GestureRecognizers to the Border-->
<Border.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" CommandParameter="0"/>
</Border.GestureRecognizers>
</Border>
<!--Do the same with other labels-->
</Grid>
Hope this helps you clarify the issue and solution.