[Android] Do not show cell context actions if input views are long clicked (#544)
* Disable long click on cells if touch is on an input view * remove redundant check
This commit is contained in:
Родитель
615e3db608
Коммит
4cb6e6de2b
|
@ -0,0 +1,55 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Xamarin.Forms.CustomAttributes;
|
||||||
|
using Xamarin.Forms.Internals;
|
||||||
|
|
||||||
|
#if UITEST
|
||||||
|
using Xamarin.UITest;
|
||||||
|
using NUnit.Framework;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Apply the default category of "Issues" to all of the tests in this assembly
|
||||||
|
// We use this as a catch-all for tests which haven't been individually categorized
|
||||||
|
#if UITEST
|
||||||
|
[assembly: NUnit.Framework.Category("Issues")]
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace Xamarin.Forms.Controls.Issues
|
||||||
|
{
|
||||||
|
[Preserve(AllMembers = true)]
|
||||||
|
[Issue(IssueTracker.Bugzilla, 46630, "Issue Description", PlatformAffected.Android)]
|
||||||
|
public class Bugzilla46630 : TestContentPage
|
||||||
|
{
|
||||||
|
protected override void Init()
|
||||||
|
{
|
||||||
|
Content = new ListView
|
||||||
|
{
|
||||||
|
HasUnevenRows = true,
|
||||||
|
ItemsSource = new List<int> { 0 },
|
||||||
|
ItemTemplate = new DataTemplate(() => new ViewCell
|
||||||
|
{
|
||||||
|
Height = 300,
|
||||||
|
ContextActions =
|
||||||
|
{
|
||||||
|
new MenuItem {Text = "Action1"},
|
||||||
|
new MenuItem {Text = "Action2"}
|
||||||
|
},
|
||||||
|
View = new StackLayout
|
||||||
|
{
|
||||||
|
Orientation = StackOrientation.Vertical,
|
||||||
|
Spacing = 10,
|
||||||
|
HorizontalOptions = LayoutOptions.FillAndExpand,
|
||||||
|
Padding = 10,
|
||||||
|
Children =
|
||||||
|
{
|
||||||
|
new Label { HeightRequest = 50, BackgroundColor = Color.Coral, Text = "Long click each cell. Input views should not display context actions."},
|
||||||
|
new Editor { HeightRequest = 50, BackgroundColor = Color.Bisque, Text = "Editor"},
|
||||||
|
new Entry { HeightRequest = 50, BackgroundColor = Color.Aqua, Text = "Entry"},
|
||||||
|
new SearchBar { HeightRequest = 50, BackgroundColor = Color.CornflowerBlue, Text = "SearchBar"},
|
||||||
|
new Grid { HeightRequest = 50, BackgroundColor = Color.PaleVioletRed}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -138,6 +138,7 @@
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla45743.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla45743.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla46494.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla46494.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla44476.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla44476.cs" />
|
||||||
|
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla46630.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)CarouselAsync.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)CarouselAsync.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla34561.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla34561.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla34727.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)Bugzilla34727.cs" />
|
||||||
|
@ -602,4 +603,4 @@
|
||||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -214,6 +214,9 @@ namespace Xamarin.Forms.Platform.Android
|
||||||
|
|
||||||
bool HandleContextMode(AView view, int position)
|
bool HandleContextMode(AView view, int position)
|
||||||
{
|
{
|
||||||
|
if (view is EditText || view is TextView || view is SearchView)
|
||||||
|
return false;
|
||||||
|
|
||||||
Cell cell = GetCellForPosition(position);
|
Cell cell = GetCellForPosition(position);
|
||||||
|
|
||||||
if (cell == null)
|
if (cell == null)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче