{"id":1541,"date":"2019-06-05T20:45:24","date_gmt":"2019-06-05T20:45:24","guid":{"rendered":"https:\/\/sezeromer.com\/?p=1541"},"modified":"2023-02-27T22:07:43","modified_gmt":"2023-02-27T19:07:43","slug":"xamarin-forms-sifre-gosterme","status":"publish","type":"post","link":"https:\/\/sezeromer.com\/en\/xamarin-forms-sifre-gosterme\/","title":{"rendered":"Xamarin Forms \u015eifre G\u00f6sterme"},"content":{"rendered":"<p><\/p>\r\n<p>Merhaba arkada\u015flar. Bu yaz\u0131mda Xamarin Forms ile kulland\u0131\u011f\u0131m\u0131z kontrollerden birisi olan\u00a0<strong>Entry&#8217;<\/strong>lerin \u015fifre g\u00f6sterip g\u00f6stermemesi \u00fczerine yazaca\u011f\u0131z. \u00d6ncelikle\u00a0<strong>Entry\u00a0<\/strong>nedir? Entry, kullan\u0131c\u0131n\u0131n bir yaz\u0131 giri\u015fi yapmas\u0131n\u0131 sa\u011flar. \u00d6rnek vermek gerekirse uygulaman\u0131zda bir giri\u015f yapma ekran\u0131 var. Burada kullan\u0131c\u0131 ad\u0131 ve \u015fifre sorman\u0131z gerekiyor. Kullan\u0131c\u0131 \u015fifresini yazd\u0131 ama bunu kontrol etmek de istiyor. Bu durumda ya \u015fifreyi tamamen silmek durumunda kalacak ya da emin olamadan giri\u015f yapmaya \u00e7al\u0131\u015facak. Bu durumdan kurtulmak i\u00e7in 2 adet y\u00f6nteminiz var. Birisi\u00a0<strong>Entry&#8217;<\/strong>e bir effect yazabilirsiniz. Bu durumda i\u015fler biraz karma\u015f\u0131kla\u015facak ve olay uzayacak. Ya da ufak bir tasar\u0131msal d\u00fczenleme ile\u00a0<strong>Xamarin Forms&#8217;<\/strong>un amac\u0131na eri\u015ferek tek bir yerden yapabilirsiniz. \u0130lk yolu denemek i\u00e7in <a href=\"https:\/\/www.c-sharpcorner.com\/article\/xamarin-forms-tip-implement-show-hide-password-using-effects\/\">buradan<\/a> ula\u015fabilirsiniz.\u00a0<\/p>\r\n<p>Di\u011fer yol i\u00e7in ise\u00a0<strong>Grid\u00a0<\/strong>kullanarak i\u015flemimizi yapaca\u011f\u0131z. Asl\u0131nda yapt\u0131\u011f\u0131m\u0131z \u015fey; Grid ile alt k\u0131s\u0131mda\u00a0<strong>Entry\u00a0<\/strong>\u00fcst k\u0131s\u0131mda ise \u015fifreyi g\u00f6sterme ve gizleme ikonlar\u0131n\u0131 kullanmak. Bundan sonras\u0131 ise resmin \u00fczerine dokunuldu\u011funda entry&#8217;nin \u015fifre olup olmama \u00f6zelli\u011fini de\u011fi\u015ftirmek.<\/p>\r\n<p>\u00d6rnek olmas\u0131 a\u00e7\u0131s\u0131ndan a\u015fa\u011f\u0131da ki gibi bir ekran tasar\u0131m\u0131 yapt\u0131m. Burada da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi\u00a0<strong>Grid\u00a0<\/strong>ile \u00fcst \u00fcste koydum iki kontrol\u00fc. B\u00f6ylece native taraf ile \u00e7ok fazla u\u011fra\u015fmadan haledebildim tasar\u0131m taraf\u0131n\u0131. Zaten geriye kalan fonksyionlar\u0131 ayarlamak. \u00a0<\/p>\r\n<div class=\"wp-block-codemirror-blocks code-block \">\r\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;swift&quot;,&quot;mime&quot;:&quot;text\/x-swift&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:true,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?&gt;\r\n&lt;ContentPage xmlns=\"http:\/\/xamarin.com\/schemas\/2014\/forms\"\r\n             xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2009\/xaml\"\r\n             xmlns:d=\"http:\/\/xamarin.com\/schemas\/2014\/forms\/design\"\r\n             xmlns:mc=\"http:\/\/schemas.openxmlformats.org\/markup-compatibility\/2006\"\r\n             mc:Ignorable=\"d\"\r\n             x:Class=\"XamShowHidePassword.Views.LoginPage\"\r\n             BackgroundColor=\"Green\"&gt;\r\n    &lt;ContentPage.Content&gt;\r\n        &lt;Grid HorizontalOptions=\"FillAndExpand\" Padding=\"10\" VerticalOptions=\"CenterAndExpand\"&gt;\r\n            &lt;Label Text=\"App Name\" \r\n                   Grid.Row=\"0\"\r\n                   HorizontalOptions=\"Center\" \r\n                   HorizontalTextAlignment=\"Center\"\r\n                   VerticalOptions=\"Center\" \r\n                   VerticalTextAlignment=\"Center\"\r\n                   TextColor=\"Black\" FontSize=\"Medium\"\/&gt;\r\n            &lt;Entry x:Name=\"entryMail\" \r\n                   Grid.Row=\"1\"\r\n                   HeightRequest=\"40\"\r\n                   Placeholder=\"Mail Address\"\r\n                   HorizontalOptions=\"FillAndExpand\"\r\n                   HorizontalTextAlignment=\"Center\"\r\n                   VerticalOptions=\"Center\"\r\n                   \/&gt;\r\n            &lt;Grid HorizontalOptions=\"FillAndExpand\"\r\n                  Grid.Row=\"2\"\r\n                  VerticalOptions=\"CenterAndExpand\"\r\n                  HeightRequest=\"40\"&gt;\r\n                &lt;Entry x:Name=\"entryPassword\"\r\n                       HorizontalOptions=\"FillAndExpand\"\r\n                       Placeholder=\"Password\"\r\n                       HeightRequest=\"40\"\r\n                       HorizontalTextAlignment=\"Center\"\r\n                       IsPassword=\"True\"\r\n                       VerticalOptions=\"Center\"\/&gt;\r\n                &lt;Image x:Name=\"imageShowHidePassword\"\r\n                       HorizontalOptions=\"End\"\r\n                       Source=\"ShowPass\"\r\n                       Aspect=\"AspectFit\"\r\n                       HeightRequest=\"25\"\r\n                       WidthRequest=\"25\"\r\n                       Margin=\"0,0,10,0\"\r\n                       VerticalOptions=\"Center\"&gt;\r\n                    &lt;Image.GestureRecognizers&gt;\r\n                        &lt;TapGestureRecognizer Tapped=\"TapGestureRecognizer_Tapped\"\/&gt;\r\n                    &lt;\/Image.GestureRecognizers&gt;\r\n                &lt;\/Image&gt;\r\n            &lt;\/Grid&gt;\r\n            &lt;Button HorizontalOptions=\"FillAndExpand\" \r\n                    Grid.Row=\"3\"\r\n                    VerticalOptions=\"Center\"\r\n                    Text=\"Login\"\r\n                    BackgroundColor=\"Blue\"\r\n                    TextColor=\"White\"\r\n                    \/&gt;\r\n        &lt;\/Grid&gt;\r\n    &lt;\/ContentPage.Content&gt;\r\n&lt;\/ContentPage&gt;<\/pre>\r\n<\/div>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1594\" src=\"https:\/\/sezeromer.com\/wp-content\/uploads\/2018\/12\/2.png\" alt=\"\" width=\"494\" height=\"195\" srcset=\"https:\/\/sezeromer.com\/wp-content\/uploads\/2018\/12\/2.png 494w, https:\/\/sezeromer.com\/wp-content\/uploads\/2018\/12\/2-300x118.png 300w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/p>\r\n<p>Bunun i\u00e7inde ilk \u00f6nce\u00a0<strong>Entry<\/strong>&#8216;nin \u015fifre olup omla\u0131d\u011f\u0131n\u0131 kontrol ediyorum. E\u011fer \u015fifre ise ekranda, \u015fifreyi g\u00f6ster ikonunu g\u00f6sterip\u00a0<strong>Entry&#8217;<\/strong>nin \u015fifreyi g\u00f6stermesini sa\u011flayaca\u011f\u0131z. Di\u011fer t\u00fcrl\u00fc ise yine resmi de\u011fi\u015ftirip entry de\u011fi\u015ftirece\u011fiz.\u00a0<\/p>\r\n<div class=\"wp-block-codemirror-blocks code-block \">\r\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;swift&quot;,&quot;mime&quot;:&quot;text\/x-swift&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:true,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nusing Xamarin.Forms;\r\nusing Xamarin.Forms.Xaml;\r\n\r\nnamespace XamShowHidePassword.Views\r\n{\r\n    [XamlCompilation(XamlCompilationOptions.Compile)]\r\n    public partial class LoginPage : ContentPage\r\n    {\r\n        public LoginPage()\r\n        {\r\n            InitializeComponent();\r\n        }\r\n\r\n        private void TapGestureRecognizer_Tapped(object sender, EventArgs e)\r\n        {\r\n            if (entryPassword.IsPassword)\r\n            {\r\n                entryPassword.IsPassword = false;\r\n                imageShowHidePassword.Source = \"HidePass\";\r\n            }\r\n            else\r\n            {\r\n                entryPassword.IsPassword = true;\r\n                imageShowHidePassword.Source = \"ShowPass\";\r\n            }\r\n        }\r\n    }\r\n}<\/pre>\r\n<\/div>\r\n<p>Kullan\u0131m a\u00e7\u0131s\u0131ndan a\u015fa\u011f\u0131da ki gibi g\u00f6z\u00fckmekte.<\/p>\r\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1596\" src=\"https:\/\/sezeromer.com\/wp-content\/uploads\/2019\/06\/1.gif\" alt=\"\" width=\"315\" height=\"656\" \/><\/p>\r\n<p>Sorular\u0131n\u0131z olursa mail veya yorum atarak ula\u015fabilirsiniz. \u0130yi \u00e7al\u0131\u015fmalar.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Merhaba arkada\u015flar. Bu yaz\u0131mda Xamarin Forms ile kulland\u0131\u011f\u0131m\u0131z kontrollerden birisi olan\u00a0Entry&#8217;lerin \u015fifre g\u00f6sterip g\u00f6stermemesi \u00fczerine yazaca\u011f\u0131z. \u00d6ncelikle\u00a0Entry\u00a0nedir? Entry, kullan\u0131c\u0131n\u0131n bir yaz\u0131 giri\u015fi yapmas\u0131n\u0131 sa\u011flar. \u00d6rnek vermek gerekirse uygulaman\u0131zda bir giri\u015f yapma ekran\u0131 var. Burada kullan\u0131c\u0131 ad\u0131 ve \u015fifre sorman\u0131z gerekiyor. Kullan\u0131c\u0131 \u015fifresini yazd\u0131 ama bunu kontrol etmek de istiyor. Bu durumda ya \u015fifreyi tamamen silmek [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1594,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[289,1,288,3],"tags":[153,403,622,621,603,619,152,617,618,620,22,119],"class_list":["post-1541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-c-ile-ilgili-yazilar","category-ios","category-xamarin-ile-yapilmis-projeler","tag-entry","tag-forms","tag-gizle","tag-goster","tag-grdi","tag-hide","tag-image","tag-password","tag-show","tag-sifre","tag-xamarin","tag-xamarin-forms"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/posts\/1541"}],"collection":[{"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/comments?post=1541"}],"version-history":[{"count":6,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/posts\/1541\/revisions"}],"predecessor-version":[{"id":2632,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/posts\/1541\/revisions\/2632"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/media\/1594"}],"wp:attachment":[{"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/media?parent=1541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/categories?post=1541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sezeromer.com\/en\/wp-json\/wp\/v2\/tags?post=1541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}