Xamarin.Forms 4.8๋ก ์ ๋ฐ์ดํธ ํ ํ ๋ผ๋์ค ๋จ์ถ๊ฐ ๋ ์ด์ Android์์ ํ ์คํธ๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ๋์ผํ ์ฝ๋๊ฐ 4.7์์ ์๋ํฉ๋๋ค.
<RadioButton Margin="5" Text="Test" />
๋ผ๋์ค ๋ฒํผ์ ์ค๋ฅธ์ชฝ์ "Test"๋ผ๋ ํ ์คํธ๋ฅผ ํ์ํฉ๋๋ค.
๋ผ๋์ค ๋ฒํผ์ ์๋ง ํ ์คํธ์์ด ํ์๋ฉ๋๋ค.
์ง๊ธ์ ๋ซ์ต๋๋ค.
RadioButton์ 5.0.0์์ ํฐ ๋ณํ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค.
์ ... ์ ์ด๋ ๊ทธ๋๊น์ง๋ ์ฌ์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. RadioButton์ ๋ ์ด๋ธ๊ณผ ํจ๊ป ์ํ ์คํ ํจ๋์ ๋๊ณ ์ ํ์ ์ผ๋ก TapGestureRecognizer๋ฅผ ๋ ์ด๋ธ์ ์ถ๊ฐํ์ฌ ํญํ๋ฉด ๋ผ๋์ค ๋ฒํผ ๊ฐ๋ ์ค์ ๋ฉ๋๋ค.
๋๋ฅผ ์ํด ๋ํ 4.8 ๋ฒ์ ์ xamarin ์์์ผ๋ก ์
๋ฐ์ดํธ ํ ํ ๋ผ๋์ค ๋ฒํผ์ด ์๋ํ์ง ์์ต๋๋ค. ์ค์๊ฐ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์น์ ํ๊ฒ ์๋ ค์ฃผ์ญ์์ค.
@ kamalkumar1 ๋ผ๋์ค ๋ฒํผ์ด ์๋ํ์ง๋ง Android์์ ๋ ์ด๋ธ์ด ํ์๋์ง ์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๋ฅ ์ผ๋ฐ ๋ ์ด๋ธ์ด์๋ StackPanel์ ๋ฃ๊ณ TapGestureRecognizer๋ฅผ ๋ ์ด๋ธ์ ์ถ๊ฐํ์ฌ ํญํ๋ฉด ๋ผ๋์ค ๋ฒํผ์ด ํ์ธ๋ฉ๋๋ค.
<StackLayout Orientation="Horizontal">
<RadioButton Margin="5" Text="Dark theme" IsChecked="{Binding UseDarkTheme}" />
<Label VerticalOptions="Center" Text="Dark theme" IsVisible="{OnPlatform Android=true, UWP=false}" >
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="UseDarkTheme_Tapped" />
</Label.GestureRecognizers>
</Label>
</StackLayout>
์ง๊ธ์ ๋ซ์ต๋๋ค.
RadioButton์ 5.0.0์์ ํฐ ๋ณํ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค.
11628
์๋ก์ด ๊ฒ์ ๋ง๋ค์ง ๋ง๊ณ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์์ ํ์ญ์์ค. ๋ถ๋!
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด๊ฒ์ด ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ํ ๋ ๊ฐ๋ฐ ๊ฒฝํ์ ๋ถ์พํ๊ฒ ๋ง๋ค ๋๋ง๋ค ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋ํฉ๋๋ค.
@Munde ์ Microsoft ์ ํ์ ์ค๋ซ๋์ ์ฌ์ฉํ ๋ ๋ชจ๋ ๋ฆด๋ฆฌ์ค์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊นจ๋จ๋ฆฌ๋ ๊ฒ์ ์ต์ํด์ง๋๋ค. ํ์ง๋ง ๊ฐ๋ฐ ํ๋ ์ ์ํฌ๊ฐ ๋ชจ๋ ์ด์ ๋ฆด๋ฆฌ์ค๋ฅผ ์์ ํ์ง ์๊ณ ๋ ๊ฐ ๋ฆด๋ฆฌ์ค์์ ์ฌ๋ฌ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ๋งค์ฐ ์ฑ๊ฐ์ ์ผ์ ๋๋ค.
๋ฌธ์ ์ ๋ํ ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ :
<StackLayout Orientation="Horizontal">
<StackLayout.Spacing>
<OnPlatform x:TypeArguments="x:Double">
<On Platform="iOS" Value="-8" />
</OnPlatform>
</StackLayout.Spacing>
<RadioButton x:Name="LocalRadioButton" IsChecked="{Binding IsSelected}"
GroupName="{Binding Source={x:Reference EntryGrid}, Path=BindingContext.Identifier}" />
<Label Text="{Binding SelectionText}" FontSize="Default" LineBreakMode="TailTruncation" VerticalOptions="Center">
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding ViewModel.ToggleRadioButtonCommand, Source={x:Reference ContentPage}}"
CommandParameter="{x:Reference LocalRadioButton}" />
</Label.GestureRecognizers>
</Label>
</StackLayout>
์, ์ด๊ฒ์ด VisualTree๋ฅผ ์ฆ๊ฐ ์ํจ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์, ViewModel์ด RadioButton์ ์ฐธ์กฐํ๊ณ IsChecked ํ ๊ธ์ ์ํํด์ผํ๋ค๋ ๊ฒ๋ ์๊ณ ์์ต๋๋ค. ๊นจ๋ํ๊ณ ์ข์ ์๋ฃจ์ ์ ์๋์ง๋ง ์ ์ด๋ ์๋ํฉ๋๋ค ..
์ด ๋ฌธ์ ๋ ๋ฐ๊ฒฌํ์ต๋๋ค. ์๋ก์ด Xamarin-learner๋ก์ ๋๋ฌด ํผ๋์ค๋ฝ๊ณ ํผ๊ณคํฉ๋๋ค.
@hopeko ๋ ์ต์ํด
@ Sebastian1989101 ๋๋ tapGestures๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก arround๋ฅผ ์ฌ์ฉํ์ง๋ง ์ฒ์์๋ ๊ฑฐ์ 2 ์๊ฐ์ ๋ญ๋นํ๊ธฐ ๋๋ฌธ์ ๋ด ์ฝ๋์ ์๋ชป๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์ฐพ๊ธฐ ์ํด ๊ฑฐ์ 2 ์๊ฐ์ ๋ญ๋นํ๊ธฐ ๋๋ฌธ์ ๋ค์ ๋ฒ์ ์์๋ ๋ฉ์ดํฌ์ n์ c #์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ xamarin ํํ๋ก ์ซ๊ฒจ ๋ฌ๋ค๊ณ ๋ค์์ผ๋ฏ๋ก xf โโ4.8์ ์ ์งํ๊ฑฐ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ 5๋ก ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด๊ฒ์ ์์ ํ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋ ๋ณ๊ฒฝ ์ฌํญ์ด Forms 5.0์์ ๋ณํฉ๋๋ ๊ฒฝ์ฐ Xamarin Forms 4.8์ ๋์ ๋ ํฅ๋ฏธ๋ก์ด ๋ฒ๊ทธ์ ๋๋ค. ๋ค๋ฅธ ํฐ์ผ์ด 5.0์์ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ 4.8์ด Android์์ ์์ ํ ์ค๋จ๋๋ ๊ฒ์ ์ด์ํ๊ฒ ๋ณด์ ๋๋ค.
Xamarin ๊ฐ๋ฐ ํ์ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ํฐ ๋ฌธ์ ๋ ์๋์ง๋ง ์์ ํ๋ ๋ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค. ์ง๋ฌธ, ๋๋์ฒด ๋ญํ๋๊ฑฐ์ผ ???
@samhouts ์๋ง๋,์ด ๋ฒ๊ทธ๋ฅผ ๋ซ๋ ๊ฒ์ด ์๋๋ผ ๊ณ ์น๋ ๊ฒ์ด ์ฌ์ธ ๊ฒ์ ๋๋ค. ํ ๋ฌ ๋ด๋ด ๋น์ ์ ์๋ฌด๊ฒ๋ํ์ง ์์์ต๋๋ค.
Aarrrggghhhh, ๋ฐฉ๊ธ ์ด๊ฒ์ ๋ด ์๊ฐ์ ๋ญ๋นํ๊ณ ์์ต๋๋ค. ์ฐ์ฐํ ์ด๊ฑธ๋ก ํ๊ธฐ ์ ์ ์ฐ์ฐํ ๋ง๋ ๊ฑด ๋คํ์ด์์.
๋ชจ๋ RadioButton์ ์ฐ์ค๊ฝ์ค๋ฌ์ด StackLayout / OnPlatform / TapGesture / Label ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ๊ต์ฒดํด ๋ณด๊ฒ ์ต๋๋ค. @ Sebastian1989101 ๊ฐ์ฌํฉ๋๋ค.
์ค๋ง ์ค๋ฝ๋ค์.
nuget packge์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ ฅ ์ ์ด๋ฅผ ์๋ํ์ญ์์ค.
๊ด๋ จ
Kamalkumar.E
์์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์
ํธ๋ํฐ : + 91-9750461689
์ค์นด์ดํ : kamalelango15
https://www.linkedin.com/in/kamal-kumar-39450654/
2020 ๋ 10 ์ 3 ์ผ ํ ์์ผ ์คํ 3:57 RhomGit [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
Aarrrggghhhh, ๋ฐฉ๊ธ ์ด๊ฒ์ ๋ด ์๊ฐ์ ๋ญ๋นํ๊ณ ์์ต๋๋ค. ๋ด๊ฐ ๋ง๋ ํ์ด
์ฐ์ฐํ ์ถ์๋๊ธฐ ์ ์
๋ชจ๋ RadioButton์ ์ฐ์ค๊ฝ์ค๋ฌ์ด ๊ฒ์ผ๋ก ๊ต์ฒดํด ๋ณด๊ฒ ์ต๋๋ค.
StackLayout / OnPlatform / TapGesture / Label ํด๊ฒฐ ๋ฐฉ๋ฒ, ๊ฐ์ฌํฉ๋๋ค.
@ Sebastian1989101 https://github.com/Sebastian1989101์ค๋ง ์ค๋ฝ๋ค์.
โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/xamarin/Xamarin.Forms/issues/11700#issuecomment-703082051 ,
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/ABXDAFFNT5VOZUS734J47FLSI337NANCNFSM4PYQFOPA
.
Wtf @PureWeen ์ง๊ธ์ ์ด๊ฒ์
๋๋ ์ธ์ด์ ๋์ํ์ง ์์ง๋ง ์ด๊ฒ์ด ๋งค์ฐ ๋ถํธํ๊ณ ๋งค์ฐ ํํธ์๋ ํ์์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค.
์ด๋ก ์ธํด ์ต๊ทผ ํ๋ก๋์ ๋น๋์์ ๋ ๋ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด์ UI์ ๋ฐ์ดํฐ ์ ๋ ฅ ์์๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ๋น๋๋ฅผ ์ค๋นํด์ผํฉ๋๋ค. ๋ด ์๋ชป์ ์๋ StackLayout / OnPlatform / TapGesture / Label ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํ ํ ๋ ๋์น XAML์ด ์๋ ์ฝ๋์์ ์ผ๋ถ UI ์์๋ฅผ ์์ฑํฉ๋๋ค.
๋๋ ์๋ง๋ ์คํ์ ๊ธฐ๋ฅ์ ๋ค์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค.
XF 5.0์ ๋ค์ด๋ก๋ํ๋๋ฐ RadioButton์ Text ์์ฑ์ด ์์ต๋๋ค.
ํ
์คํธ ์์-๋ฒ๊ทธ๊ฐ ์์ต๋๋ค.
์ด์ต! =)
XF 5.0์ ๋ค์ด๋ก๋ํ๋๋ฐ RadioButton์ Text ์์ฑ์ด ์์ต๋๋ค.
ํ ์คํธ ์์-๋ฒ๊ทธ๊ฐ ์์ต๋๋ค.
์ด์ต! =)
์ด์ฉ๋ฉด ๋ชจ๋ ๊ฒ์ ๋ด์ ์์๋ ์ฝํ ์ธ ๊ฐ ์๊ธฐ ๋๋ฌธ์ผ ์๋ ์์ต๋๋ค. ์ฐธ์กฐ : https://youtu.be/ttF80UnrJAg?t=364
https://github.com/enisn/Xamarin.Forms.InputKit๋ก ์ ํ
๊ธฐ๋ฅ์ด ์คํ์ ์ด๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ๋ฌธ์ ๋ฅผ ์ข ๊ฒฐํด์๋ ์๋ฉ๋๋ค . ๋ ์ด๋ธ์ด์๋ ๋ผ๋์ค๋ ํฐ ๋ฌธ์ ์ด๋ฉฐ ๋ซ๋ ๊ฒ๋ง์ผ๋ก๋ ์์ ๊ฐ์ด ์์ต๋๋ค.
XF 5.0์ ๋ค์ด๋ก๋ํ๋๋ฐ RadioButton์ Text ์์ฑ์ด ์์ต๋๋ค.
ํ ์คํธ ์์-๋ฒ๊ทธ๊ฐ ์์ต๋๋ค.
์ด์ต! =)์ด์ฉ๋ฉด ๋ชจ๋ ๊ฒ์ ๋ด์ ์์๋ ์ฝํ ์ธ ๊ฐ ์๊ธฐ ๋๋ฌธ์ผ ์๋ ์์ต๋๋ค. ์ฐธ์กฐ : https://youtu.be/ttF80UnrJAg?t=364
๊ฐ์ฌ. ํ์ธํ๊ฒ ์ต๋๋ค.
์ ๋ขฐ์ฑ์ ๋ํด์๋ ๋งํ ์ ์์ง๋ง ์ฌ์ฉ์ ์ง์ ๋ ๋๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์์์ต๋๋ค.
using Android.Content;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportRenderer(typeof(RadioButton), typeof(ProjectName.Droid.Renderers.PatchedRadioButtonRenderer))]
namespace ProjectName.Droid.Renderers
{
/// <summary>
/// A workaround for the issue in the in-box renderer.
/// https://github.com/xamarin/Xamarin.Forms/issues/11700
/// </summary>
public class PatchedRadioButtonRenderer : RadioButtonRenderer
{
public PatchedRadioButtonRenderer(Context context) : base(context) {}
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
// Apply text to native radio button
this.Control.Text = e.NewElement.Text;
base.OnElementChanged(e);
}
}
}
@ IgorKravchenko10 ํ ์คํธ๋ฅผ ๋์ฒดํ๋ ๊ฐ์น๊ฐ ์์ต๋๋ค.
ํด๋์ Xamarin!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ก์ด ๊ฒ์ ๋ง๋ค์ง ๋ง๊ณ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์์ ํ์ญ์์ค. ๋ถ๋!