27 Ağustos 2021 Cuma

XAML view içinde Label tıklayarak aksiyon aldırma

Selamlar,

XAML sayfanız içine yerleştirdiğimiz bir Label text değerini tıklayarak değiştirmek için alttaki şekilde GestureRecognizer ekleyebiliriz. XXXXX yazan Label a tıkladığımızda Label değeri OOOOOOOO olarak değişecektir.



<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"  
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"  
             xmlns:local="clr-namespace:XCob"  
             x:Class="XCob.testpage3"  
             Title ="Expendable ListView "  
             BackgroundColor="Bisque">

    <Grid x:Name="MainGrid2x4" AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1" BackgroundColor="Transparent" >
        <Grid.RowDefinitions>
            <RowDefinition Height="200" />
            <RowDefinition Height="200" />
        </Grid.RowDefinitions>
        <BoxView x:Name="Box2241"/>
        <Label x:Name="mylabel"  Text="YYYY" TextColor="Black" HorizontalTextAlignment="Center" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" FontSize="Large">
            <Label.GestureRecognizers>
                <TapGestureRecognizer Tapped="OnLabelNameTapped" NumberOfTapsRequired="1" />
            </Label.GestureRecognizers>
        </Label>
        <BoxView x:Name="Box2242" Grid.Row="1"/>
        <Label x:Name="mylabel2" Grid.Row="1" Text="XXXXX" TextColor="Black" HorizontalTextAlignment="Center" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" FontSize="Large"/>        
    </Grid>
    
</ContentPage>



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace XCob
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class testpage3 : ContentPage
    {
        public testpage3()
        {
            InitializeComponent();
        }

        void OnLabelNameTapped(object sender, EventArgs args)
        {
            labelcent.Text = "OOOOOOOO";
        }
    }
}

23 Ağustos 2021 Pazartesi

Xamarin.Forms içinde ekrandaki resme dokunarak aksiyon alma

 Merhaba,

Mobil uygulamamızın ekranındaki resme tıkladığımızda bir aksiyon almak için alttaki kosları kullanıyoruz.

Xaml dosyamız içinde image eklerken TapGestureRecognizer tanımlıyoruz.

<AbsoluteLayout BackgroundColor="Transparent">
     <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,1" Source="{local:ImageResource VFMob.IMG.mybanner.JPG}" Aspect="AspectFill">
          <Image.GestureRecognizers>
                 <TapGestureRecognizer
                       Tapped="OnImageNameTapped"
                       NumberOfTapsRequired="1" />
           </Image.GestureRecognizers>
     </Image>
</AbsoluteLayout>

Ayrıca C# dosyamız içinde ise alttaki şekilde resme dokunulduğunda oluşacak aksiyonu tanımlıyoruz.

void OnImageNameTapped(object sender, EventArgs args)
{
    Console.WriteLine("TAPPED");
}

Resme tıklandığında konsola TAPPED basıldığını göreceksiniz.


Teşekkürler,

Cem Selmanoğulları



Xamarin.Forms Xaml dosyası içinde yuvarlak button oluşturulması

Merhaba,

Xaml dosyası içinde eklediğimiz köşeli buttonları yuvarlak hale getirebileceğimizi biliyor muydunuz ?

Burda tam yuvarlak olması için önemli nokta Width ve Height değerlerinin aynı olması. Radius değerinin ise bu değerlerin yarısı kadar olmasıdır. Alttaki örnek IOS ve Android için farklı boyutlarda button görüntüleyecek şekilde oluşturulmuştur.

<Button Clicked="NavigateButton_OnClicked" BorderColor="LightGray" BorderWidth="2" HorizontalOptions="Center" VerticalOptions="Center" ImageSource="{local:ImageResource Proj.IMG.picfile.JPG}">
           <Button.WidthRequest>
                 <OnPlatform x:TypeArguments="x:Double">
                         <On Platform="iOS">120</On>
                         <On Platform="Android,Windows">140</On>
                 </OnPlatform>
           </Button.WidthRequest>
           <Button.HeightRequest>
                 <OnPlatform x:TypeArguments="x:Double">
                         <On Platform="iOS">120</On>
                         <On Platform="Android,Windows">140</On>
                 </OnPlatform>
           </Button.HeightRequest>
           <Button.BorderRadius>
                 <OnPlatform x:TypeArguments="x:Int32">
                         <On Platform="iOS">60</On>
                         <On Platform="Android,Windows">70</On>
                 </OnPlatform>
           </Button.BorderRadius>
</Button>


Teşekkürler,

Cem Selmanoğulları