Closed kellison3205 closed 5 years ago
Thank you for your reporting.
But, I cannot reproduce this issue.
I think you didn't set RotaryFocusObject
in CirclePage
.
refer to CirclePage guide RotaryFocusObject property sets the currently focused control that is handled by rotating and display the circle object of the focused control. If the value is not set properly, the control will not receive the Rotary Event
<w:CirclePage x:Name="SecondPage" RotaryFocusObject ="{x:Reference stepper}">
Please refer to following the test code that I have tried to reproduce your issue.
<?xml version="1.0" encoding="utf-8" ?>
<w:IndexPage
x:Class="WearableUIGallery.TC.TCIndexPageFocus"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:WearableUIGallery"
xmlns:w="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms">
<ContentPage x:Name="FistPage">
<StackLayout VerticalOptions="CenterAndExpand">
<Label
HeightRequest="120"
FontAttributes="Bold"
HorizontalTextAlignment="Center"
Text="Hello Xamarin!"/>
<Button
x:Name="button"
Clicked="OnButtonClicked"
HorizontalOptions="CenterAndExpand"
Text="Press"
WidthRequest="200" />
</StackLayout>
</ContentPage>
<w:CirclePage x:Name="SecondPage" RotaryFocusObject ="{x:Reference stepper}">
<w:CirclePage.Content>
<StackLayout Orientation="Vertical">
<Label
FontAttributes="Bold"
HorizontalTextAlignment="Center"
Text="Title"/>
<w:CircleStepper
x:Name="stepper"
Title="Steper title"
Focused="OnFocused"
Maximum="10"
Minimum="0"
WidthRequest="60"
Value="0" />
</StackLayout>
</w:CirclePage.Content>
</w:CirclePage>
</w:IndexPage>
CircleStepper is worked on the second page. the following figure is a screenshot of the above code.
I am sending you my code. It is a very simple test case.
TizenWearableXamlApp1.zip https://drive.google.com/file/d/1acPtJ6sZg77TxzFQIHAymQ0ImYYkYXcG/view?usp=drive_web It is for Visual Studio 2017. The TCCircleStepper2 is from the sample code showing all the CircularUI components. I add it and my simple ACircle1 class to the IndexPageMain in the .cs file. If I put the TCCircleStepper2 class first, it works correctly. If I put it as the second page of the Index it does not.
Thanks for looking into this. Karen Ellison
On Thu, Feb 14, 2019 at 9:07 PM Jeongkyun notifications@github.com wrote:
Thank you for your reporting. But, I cannot reproduce this issue. I think you didn't set RotaryFocusObject in CirclePage.
Please refer to following the test code that I have tried to reproduce your issue.
<?xml version="1.0" encoding="utf-8" ?> <w:IndexPage x:Class="WearableUIGallery.TC.TCIndexPageFocus" xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:WearableUIGallery" xmlns:w="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms">
<w:CirclePage x:Name="SecondPage" RotaryFocusObject ="{x:Reference stepper}"> <w:CirclePage.Content> <StackLayout Orientation="Vertical"> <Label FontAttributes="Bold" HorizontalTextAlignment="Center" Text="Title"/> <w:CircleStepper x:Name="stepper" Title="Steper title" Focused="OnFocused" Maximum="10" Minimum="0" WidthRequest="60" Value="0" /> </StackLayout> </w:CirclePage.Content> </w:CirclePage>
</w:IndexPage>
CircleStepper focus is worked on the second page. the following figure is a screenshot of the above code.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Samsung/Tizen.CircularUI/issues/161#issuecomment-463908478, or mute the thread https://github.com/notifications/unsubscribe-auth/AGp9Xle-ZDtcDYdV6U6C7BsBrOeoR1M0ks5vNkB3gaJpZM4a4S0J .
I should be more specific. On the TCCircleStepper2 page the focus is on the hour value and the stepper works. But if I try to select minutes or seconds, the stepper does not get changed as it should to the correct stepper and those values don't change. This only happens when the stepper page is second in the IndexPage. If it is first, it works correctly.
I didn't mean to close it. I pushed the wrong button.
I have verified that Xamarin control's focus(Circlestepper, Datetime, Entry, and so on) isn't enabled on second page or more pages of IndexPage, And also Issue is same on Xamarin.Forms.CarouselPage.
Both CircularUI and Xamarin widget have same focus issue. It can be native UIFW issue. Native FW issue patch can't be update in Tizen Platform Version 4.0 and 5.0 because this version already released.
We will look into this issue more. If you need to use IndexPage in your application. I recommend you to place the widget that needs focus on the first page of the IndexPage.
This issue was fixed in PR(https://github.com/Samsung/Tizen.CircularUI/pull/167) and will be included next Nuget version.
Patch of indexpage focus issue was included version 1.1.0-pre1-00020
I created a simple app with an IndexPage as the MainPage of my app. I added 2 pages. The first has text and a button. The second has some circleSteppers. If the circleStepper page is 1st, it works correctly. But if it is second it doesn't get focus. I tried putting CurrentPage.Focus() in CurrentPageChanged, but CurrentPage.IsFocused() is false before and after calling Focus() for the 2nd page.