{"id":38654,"date":"2026-02-04T21:40:38","date_gmt":"2026-02-04T18:40:38","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38654"},"modified":"2026-02-04T21:40:38","modified_gmt":"2026-02-04T18:40:38","slug":"android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/","title":{"rendered":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler"},"content":{"rendered":"<p><body><\/p>\n<h2>Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler<\/h2>\n<p>Android uygulama geli\u015ftirme d\u00fcnyas\u0131nda kullan\u0131c\u0131 aray\u00fcz\u00fc (UI) elemanlar\u0131, uygulaman\u0131n genel kullan\u0131c\u0131 deneyimi (UX) \u00fczerinde belirleyici bir etkiye sahiptir. Bu elemanlar aras\u0131nda d\u00fc\u011fmeler, kullan\u0131c\u0131lar\u0131n uygulamayla etkile\u015fim kurmas\u0131n\u0131 sa\u011flayan temel bile\u015fenlerden biridir. \u0130yi tasarlanm\u0131\u015f, sezgisel ve g\u00f6rsel olarak \u00e7ekici d\u00fc\u011fmeler, uygulaman\u0131n kullan\u0131labilirli\u011fini art\u0131r\u0131rken, k\u00f6t\u00fc tasarlanm\u0131\u015f d\u00fc\u011fmeler kullan\u0131c\u0131da hayal k\u0131r\u0131kl\u0131\u011f\u0131na ve kafa kar\u0131\u015f\u0131kl\u0131\u011f\u0131na yol a\u00e7abilir. Bu makale, Android platformunda d\u00fc\u011fme tasar\u0131m\u0131n\u0131n temellerinden ba\u015flayarak, \u00f6zel d\u00fc\u011fme olu\u015fturma tekniklerine, yuvarlak d\u00fc\u011fmelerin nas\u0131l tasarlanaca\u011f\u0131na ve renk y\u00f6netiminin \u00f6nemine derinlemesine bir bak\u0131\u015f sunmaktad\u0131r.<\/p>\n<h3>Android D\u00fc\u011fmelerine Giri\u015f ve Temel \u00d6zellikleri<\/h3>\n<p>Android SDK, geli\u015ftiricilere \u00e7e\u015fitli haz\u0131r d\u00fc\u011fme t\u00fcrleri sunar. En temel d\u00fc\u011fme t\u00fcr\u00fc olan <code>Button<\/code> widget&#8217;\u0131, metin tabanl\u0131 etkile\u015fimler i\u00e7in kullan\u0131l\u0131rken, <code>ImageButton<\/code> g\u00f6rsel tabanl\u0131 etkile\u015fimler i\u00e7in idealdir. Modern Android uygulamalar\u0131nda ise Google&#8217;\u0131n Material Design prensiplerini takip eden <code>MaterialButton<\/code> daha s\u0131k tercih edilmektedir.<\/p>\n<p>Bir d\u00fc\u011fme, genellikle bir metin etiketi, bir simge veya her ikisini birden i\u00e7erir. Kullan\u0131c\u0131 d\u00fc\u011fmeye dokundu\u011funda, d\u00fc\u011fme bir eylemi tetikler. Bu eylem, yeni bir ekran a\u00e7maktan, veri g\u00f6ndermeye veya bir i\u015flemi onaylamaya kadar de\u011fi\u015febilir. D\u00fc\u011fme tasar\u0131m\u0131nda dikkat edilmesi gereken en \u00f6nemli unsurlardan biri, d\u00fc\u011fmenin amac\u0131n\u0131n kullan\u0131c\u0131 taraf\u0131ndan an\u0131nda anla\u015f\u0131labilir olmas\u0131d\u0131r.<\/p>\n<h4>Temel D\u00fc\u011fme T\u00fcrleri ve Kullan\u0131mlar\u0131<\/h4>\n<p>*   <strong><code>Button<\/code>:<\/strong> Android&#8217;in ilk s\u00fcr\u00fcmlerinden beri var olan standart metin d\u00fc\u011fmesidir. Basit metin etiketli d\u00fc\u011fmeler i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong><code>ImageButton<\/code>:<\/strong> Sadece bir g\u00f6rsel (Drawable) i\u00e7eren d\u00fc\u011fmeler i\u00e7in kullan\u0131l\u0131r. Genellikle simgeleri temsil eder ve metin i\u00e7ermez.<br \/>\n*   <strong><code>MaterialButton<\/code>:<\/strong> Material Design k\u00fct\u00fcphanesinin bir par\u00e7as\u0131d\u0131r. Geli\u015fmi\u015f \u00f6zelle\u015ftirme se\u00e7enekleri, g\u00f6lge, dalgalanma efekti (ripple effect) ve kolay k\u00f6\u015fe yuvarlama gibi modern UI \u00f6zelliklerini destekler. Material Design prensiplerine uygun uygulamalar i\u00e7in \u00f6nerilir.<\/p>\n<p>Bir d\u00fc\u011fmeyi XML layout dosyas\u0131nda tan\u0131mlamak olduk\u00e7a basittir:<\/p>\n<pre><code class=\"language-xml\"><Button\n    android:id=\"@+id\/my_button\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"T\u0131kla Bana\"\n    android:backgroundTint=\"@color\/purple_500\"\n    android:textColor=\"@color\/white\" \/><\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte <code>android:text<\/code> ile d\u00fc\u011fme metni, <code>android:backgroundTint<\/code> ile arka plan rengi ve <code>android:textColor<\/code> ile metin rengi ayarlanm\u0131\u015ft\u0131r. Ancak, bu temel \u00f6zelle\u015ftirmeler \u00e7o\u011fu zaman yeterli olmaz. Uygulaman\u0131z\u0131n benzersiz kimli\u011fini yans\u0131tmak ve daha tutarl\u0131 bir kullan\u0131c\u0131 deneyimi sunmak i\u00e7in \u00f6zel d\u00fc\u011fme tasar\u0131mlar\u0131na ihtiya\u00e7 duyulur.<\/p>\n<h3>\u00d6zel D\u00fc\u011fme Tasar\u0131m\u0131: Drawable XML Kullan\u0131m\u0131<\/h3>\n<p>Android&#8217;de \u00f6zel d\u00fc\u011fme tasarlaman\u0131n en g\u00fc\u00e7l\u00fc ve esnek yolu, XML drawable kaynaklar\u0131n\u0131 kullanmakt\u0131r. Drawable XML dosyalar\u0131, d\u00fc\u011fmenin g\u00f6rsel g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc (\u015fekil, renk, kenarl\u0131k, gradyan, durumlar aras\u0131 ge\u00e7i\u015fler vb.) tan\u0131mlamam\u0131za olanak tan\u0131r. Bu y\u00f6ntem, uygulaman\u0131z\u0131n tema ve stilini tamamen kontrol etmenizi sa\u011flar.<\/p>\n<h4>Shape Drawable ile \u015eekil ve Renk Tan\u0131mlama<\/h4>\n<p><code>shape<\/code> etiketi, bir d\u00fc\u011fmenin temel \u015feklini, arka plan rengini, kenarl\u0131klar\u0131n\u0131 ve k\u00f6\u015fe yuvarlakl\u0131\u011f\u0131n\u0131 tan\u0131mlamak i\u00e7in kullan\u0131l\u0131r. Bu, \u00f6zel d\u00fc\u011fme tasar\u0131m\u0131n\u0131n temelini olu\u015fturur.<\/p>\n<p>Bir <code>shape<\/code> drawable dosyas\u0131 genellikle <code>res\/drawable<\/code> klas\u00f6r\u00fcnde olu\u015fturulur ve a\u015fa\u011f\u0131daki gibi bir yap\u0131ya sahiptir:<\/p>\n<pre><code class=\"language-xml\"><!-- res\/drawable\/my_custom_button_background.xml -->\n<shape xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    android:shape=\"rectangle\">\n    <solid android:color=\"#FF6200EE\" \/> <!-- D\u00fc\u011fmenin arka plan rengi -->\n    <corners android:radius=\"8dp\" \/> <!-- K\u00f6\u015fe yuvarlakl\u0131\u011f\u0131 -->\n    <stroke\n        android:width=\"2dp\"\n        android:color=\"#FF000000\" \/> <!-- Kenarl\u0131k -->\n    <padding\n        android:left=\"16dp\"\n        android:top=\"8dp\"\n        android:right=\"16dp\"\n        android:bottom=\"8dp\" \/> <!-- \u0130\u00e7 bo\u015fluk -->\n<\/shape><\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte:<br \/>\n*   <code>android:shape=\"rectangle\"<\/code>: D\u00fc\u011fmenin dikd\u00f6rtgen bir \u015fekle sahip olaca\u011f\u0131n\u0131 belirtir. Di\u011fer se\u00e7enekler aras\u0131nda <code>oval<\/code>, <code>line<\/code> ve <code>ring<\/code> bulunur.<br \/>\n*   <code><solid android:color=\"...\" \/><\/code>: D\u00fc\u011fmenin d\u00fcz arka plan rengini ayarlar.<br \/>\n*   <code><corners android:radius=\"...\" \/><\/code>: D\u00fc\u011fmenin t\u00fcm k\u00f6\u015felerinin belirli bir yar\u0131\u00e7apla yuvarlanmas\u0131n\u0131 sa\u011flar. Belirli k\u00f6\u015feleri yuvarlamak i\u00e7in <code>android:topLeftRadius<\/code>, <code>android:topRightRadius<\/code>, <code>android:bottomLeftRadius<\/code> ve <code>android:bottomRightRadius<\/code> nitelikleri kullan\u0131labilir.<br \/>\n*   <code><stroke android:width=\"...\" android:color=\"...\" \/><\/code>: D\u00fc\u011fmeye bir kenarl\u0131k ekler.<br \/>\n*   <code><padding ... \/><\/code>: D\u00fc\u011fme i\u00e7eri\u011fi (metin veya simge) ile d\u00fc\u011fmenin kenarlar\u0131 aras\u0131ndaki bo\u015flu\u011fu tan\u0131mlar.<\/p>\n<p>Bu drawable dosyas\u0131n\u0131 bir <code>Button<\/code> veya <code>TextView<\/code>&#8216;a uygulamak i\u00e7in <code>android:background<\/code> niteli\u011fini kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-xml\"><Button\n    android:id=\"@+id\/custom_button\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"\u00d6zel D\u00fc\u011fme\"\n    android:background=\"@drawable\/my_custom_button_background\"\n    android:textColor=\"@color\/white\"\n    android:paddingStart=\"20dp\"\n    android:paddingEnd=\"20dp\"\n    android:paddingTop=\"10dp\"\n    android:paddingBottom=\"10dp\"\n    android:stateListAnimator=\"@null\" \/> <!-- Material Design g\u00f6lgesini kald\u0131rmak i\u00e7in --><\/code><\/pre>\n<p>Burada <code>android:padding<\/code> yerine <code>android:paddingStart<\/code>, <code>android:paddingEnd<\/code> gibi nitelikler kullanmak, RTL (sa\u011fdan sola) dillerde uyumluluk a\u00e7\u0131s\u0131ndan daha iyidir. <code>stateListAnimator=\"@null\"<\/code> Material Design d\u00fc\u011fmelerinin varsay\u0131lan g\u00f6lge ve animasyonlar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in kullan\u0131labilir, b\u00f6ylece tamamen kendi tasar\u0131m\u0131m\u0131z kontrol edilir.<\/p>\n<h4>Selector Drawable ile Durum Tabanl\u0131 Tasar\u0131m<\/h4>\n<p>Bir d\u00fc\u011fmenin kullan\u0131c\u0131 etkile\u015fimlerine (bas\u0131l\u0131, odaklanm\u0131\u015f, devre d\u0131\u015f\u0131 vb.) farkl\u0131 g\u00f6rsel tepkiler vermesi, kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. <code>selector<\/code> drawable, d\u00fc\u011fmenin farkl\u0131 durumlar\u0131 i\u00e7in farkl\u0131 drawable&#8217;lar\u0131 tan\u0131mlamam\u0131z\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-xml\"><!-- res\/drawable\/my_button_selector.xml -->\n<selector xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\">\n    <!-- Bas\u0131l\u0131 durum -->\n    <item android:state_pressed=\"true\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"#FF3700B3\" \/> <!-- Daha koyu renk -->\n            <corners android:radius=\"8dp\" \/>\n            <stroke android:width=\"2dp\" android:color=\"#FF000000\" \/>\n        <\/shape>\n    <\/item>\n    <!-- Odaklanm\u0131\u015f durum (genellikle klavye navigasyonunda) -->\n    <item android:state_focused=\"true\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"#FFBB86FC\" \/> <!-- Vurgulu renk -->\n            <corners android:radius=\"8dp\" \/>\n            <stroke android:width=\"2dp\" android:color=\"#FF000000\" \/>\n        <\/shape>\n    <\/item>\n    <!-- Varsay\u0131lan durum -->\n    <item>\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"#FF6200EE\" \/> <!-- Normal renk -->\n            <corners android:radius=\"8dp\" \/>\n            <stroke android:width=\"2dp\" android:color=\"#FF000000\" \/>\n        <\/shape>\n    <\/item>\n<\/selector><\/code><\/pre>\n<p>Bu <code>selector<\/code> drawable&#8217;\u0131 d\u00fc\u011fmeye atad\u0131\u011f\u0131m\u0131zda, d\u00fc\u011fme bas\u0131ld\u0131\u011f\u0131nda veya odakland\u0131\u011f\u0131nda otomatik olarak farkl\u0131 bir g\u00f6r\u00fcn\u00fcme b\u00fcr\u00fcnecektir:<\/p>\n<pre><code class=\"language-xml\"><Button\n    android:id=\"@+id\/stateful_button\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"Durumlu D\u00fc\u011fme\"\n    android:background=\"@drawable\/my_button_selector\"\n    android:textColor=\"@color\/white\"\n    android:paddingStart=\"20dp\"\n    android:paddingEnd=\"20dp\"\n    android:paddingTop=\"10dp\"\n    android:paddingBottom=\"10dp\"\n    android:stateListAnimator=\"@null\" \/><\/code><\/pre>\n<p><code>selector<\/code> i\u00e7inde <code>item<\/code> etiketlerinin s\u0131ras\u0131 \u00f6nemlidir. Android, listeyi yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru tarar ve ilk e\u015fle\u015fen durumu uygular. Bu nedenle, daha spesifik durumlar (\u00f6rne\u011fin <code>state_pressed<\/code>) genellikle daha genel durumlardan (\u00f6rne\u011fin varsay\u0131lan durum) \u00f6nce gelmelidir.<\/p>\n<h4>Layer List Drawable ile Katmanl\u0131 Tasar\u0131m<\/h4>\n<p>Daha karma\u015f\u0131k d\u00fc\u011fme tasar\u0131mlar\u0131 i\u00e7in <code>layer-list<\/code> drawable kullan\u0131labilir. Bu, birden fazla drawable&#8217;\u0131 \u00fcst \u00fcste katmanlaman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, bir d\u00fc\u011fmenin arka plan\u0131na bir gradyan ve \u00fczerine bir simge eklemek i\u00e7in kullan\u0131labilir. Ancak, \u00e7o\u011fu \u00f6zel d\u00fc\u011fme ihtiyac\u0131 <code>shape<\/code> ve <code>selector<\/code> ile kar\u015f\u0131lanabilir.<\/p>\n<h3>Yuvarlak D\u00fc\u011fmeler Tasarlamak<\/h3>\n<p>Yuvarlak d\u00fc\u011fmeler, Material Design&#8217;\u0131n pop\u00fclerle\u015fmesiyle birlikte Android uygulamalar\u0131nda s\u0131k\u00e7a kar\u015f\u0131m\u0131za \u00e7\u0131kan bir tasar\u0131m \u00f6\u011fesidir. Tamamen dairesel d\u00fc\u011fmeler (Floating Action Buttons &#8211; FABs gibi) veya sadece k\u00f6\u015feleri yuvarlat\u0131lm\u0131\u015f dikd\u00f6rtgen d\u00fc\u011fmeler olabilirler.<\/p>\n<h4>Shape Drawable ile Yuvarlak K\u00f6\u015feler<\/h4>\n<p>Daha \u00f6nce bahsedilen <code>shape<\/code> drawable&#8217;\u0131 kullanarak k\u00f6\u015feleri yuvarlatmak olduk\u00e7a kolayd\u0131r. Tamamen dairesel bir d\u00fc\u011fme elde etmek i\u00e7in, d\u00fc\u011fmenin geni\u015fli\u011fini ve y\u00fcksekli\u011fini e\u015fit ayarlamal\u0131 ve <code>corners<\/code> etiketindeki <code>android:radius<\/code> de\u011ferini, geni\u015fli\u011fin veya y\u00fcksekli\u011fin yar\u0131s\u0131na e\u015fitlemeliyiz.<\/p>\n<p>\u00d6rne\u011fin, 56dp geni\u015flik ve y\u00fcksekli\u011fe sahip bir daire i\u00e7in:<\/p>\n<pre><code class=\"language-xml\"><!-- res\/drawable\/circular_button_background.xml -->\n<shape xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    android:shape=\"oval\"> <!-- \u015eekli oval olarak ayarla -->\n    <solid android:color=\"#FF03DAC5\" \/>\n    <!-- Oval \u015fekli i\u00e7in radius'a gerek yok, width\/height ile daire olur -->\n<\/shape><\/code><\/pre>\n<p>Ve layout&#8217;ta:<\/p>\n<pre><code class=\"language-xml\"><Button\n    android:id=\"@+id\/circular_button\"\n    android:layout_width=\"56dp\"\n    android:layout_height=\"56dp\"\n    android:background=\"@drawable\/circular_button_background\"\n    android:text=\"+\"\n    android:textColor=\"@color\/white\"\n    android:textSize=\"24sp\"\n    android:gravity=\"center\"\n    android:stateListAnimator=\"@null\" \/><\/code><\/pre>\n<p>E\u011fer sadece k\u00f6\u015feleri yuvarlat\u0131lm\u0131\u015f bir dikd\u00f6rtgen d\u00fc\u011fme isteniyorsa, <code>android:shape=\"rectangle\"<\/code> kullan\u0131l\u0131p <code>android:radius<\/code> de\u011feri istenilen yuvarlakl\u0131k derecesine g\u00f6re ayarlan\u0131r. \u00d6rne\u011fin, <code>android:radius=\"999dp\"<\/code> gibi \u00e7ok y\u00fcksek bir de\u011fer vermek, d\u00fc\u011fmenin geni\u015fli\u011fine veya y\u00fcksekli\u011fine ba\u011fl\u0131 olarak tam kapsayan bir yuvarlakl\u0131k sa\u011flar.<\/p>\n<pre><code class=\"language-xml\"><!-- res\/drawable\/rounded_rectangle_button.xml -->\n<shape xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    android:shape=\"rectangle\">\n    <solid android:color=\"#FF6200EE\" \/>\n    <corners android:radius=\"28dp\" \/> <!-- Yar\u0131\u00e7ap\u0131 y\u00fcksek vererek ovalimsi bir g\u00f6r\u00fcn\u00fcm -->\n<\/shape><\/code><\/pre>\n<p>Bu, genellikle &#8220;pill-shaped&#8221; (hap \u015feklinde) d\u00fc\u011fmeler olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>MaterialButton ile Yuvarlak K\u00f6\u015feler<\/h4>\n<p><code>MaterialButton<\/code>, yuvarlak d\u00fc\u011fmeler olu\u015fturmay\u0131 \u00e7ok daha kolay hale getirir. <code>app:cornerRadius<\/code> niteli\u011fi ile do\u011frudan XML \u00fczerinden k\u00f6\u015fe yuvarlakl\u0131\u011f\u0131n\u0131 ayarlayabilirsiniz. Bu, <code>shape<\/code> drawable dosyas\u0131 olu\u015fturma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r veya basitle\u015ftirir.<\/p>\n<pre><code class=\"language-xml\"><com.google.android.material.button.MaterialButton\n    android:id=\"@+id\/material_rounded_button\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:text=\"Material Yuvarlak\"\n    app:cornerRadius=\"28dp\"\n    app:backgroundTint=\"@color\/purple_500\"\n    android:textColor=\"@color\/white\"\n    android:paddingStart=\"20dp\"\n    android:paddingEnd=\"20dp\"\n    android:paddingTop=\"10dp\"\n    android:paddingBottom=\"10dp\" \/><\/code><\/pre>\n<p>Tamamen dairesel bir <code>MaterialButton<\/code> olu\u015fturmak i\u00e7in, <code>layout_width<\/code> ve <code>layout_height<\/code> de\u011ferlerini e\u015fit ve <code>app:cornerRadius<\/code> de\u011ferini bu boyutun yar\u0131s\u0131na ayarlaman\u0131z yeterlidir. \u00d6rne\u011fin, 56dp boyutunda bir d\u00fc\u011fme i\u00e7in <code>app:cornerRadius=\"28dp\"<\/code> kullan\u0131l\u0131r.<\/p>\n<p><code>MaterialButton<\/code> ayr\u0131ca <code>app:strokeColor<\/code> ve <code>app:strokeWidth<\/code> gibi niteliklerle kenarl\u0131k eklemeyi de kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>Renk Y\u00f6netimi ve En \u0130yi Uygulamalar<\/h3>\n<p>D\u00fc\u011fme tasar\u0131m\u0131nda renkler, sadece estetik bir tercih olman\u0131n \u00f6tesinde, kullan\u0131labilirlik ve eri\u015filebilirlik a\u00e7\u0131s\u0131ndan kritik bir rol oynar. Do\u011fru renk paleti, uygulaman\u0131n marka kimli\u011fini g\u00fc\u00e7lendirirken, yanl\u0131\u015f renk se\u00e7imleri kullan\u0131c\u0131 deneyimini olumsuz etkileyebilir.<\/p>\n<h4>colors.xml ile Merkezi Renk Tan\u0131mlar\u0131<\/h4>\n<p>T\u00fcm renkleri <code>res\/values\/colors.xml<\/code> dosyas\u0131nda merkezi olarak tan\u0131mlamak en iyi uygulamad\u0131r. Bu, renklerin uygulaman\u0131z boyunca tutarl\u0131 bir \u015fekilde kullan\u0131lmas\u0131n\u0131 sa\u011flar ve bir rengi de\u011fi\u015ftirmek istedi\u011finizde t\u00fcm referanslar\u0131 tek bir yerden g\u00fcncelleyebilmenizi kolayla\u015ft\u0131r\u0131r.<\/p>\n<pre><code class=\"language-xml\"><!-- res\/values\/colors.xml -->\n<resources>\n    <color name=\"purple_200\">#FFBB86FC<\/color>\n    <color name=\"purple_500\">#FF6200EE<\/color>\n    <color name=\"purple_700\">#FF3700B3<\/color>\n    <color name=\"teal_200\">#FF03DAC5<\/color>\n    <color name=\"teal_700\">#FF018786<\/color>\n    <color name=\"black\">#FF000000<\/color>\n    <color name=\"white\">#FFFFFFFF<\/color>\n\n    <!-- \u00d6zel d\u00fc\u011fme renkleri -->\n    <color name=\"button_primary\">#4CAF50<\/color>\n    <color name=\"button_primary_pressed\">#388E3C<\/color>\n    <color name=\"button_secondary\">#FF9800<\/color>\n    <color name=\"button_secondary_pressed\">#F57C00<\/color>\n<\/resources><\/code><\/pre>\n<p>Bu renkleri XML layout&#8217;larda <code>@color\/my_color<\/code> \u015feklinde veya Kotlin\/Java kodunda <code>ContextCompat.getColor(context, R.color.my_color)<\/code> \u015feklinde kullanabilirsiniz.<\/p>\n<h4>Material Design Renk Paleti<\/h4>\n<p>Material Design, birincil (primary), ikincil (secondary), y\u00fczey (surface), hata (error) ve &#8220;on&#8221; renkleri gibi belirli bir renk sistemi \u00f6nerir. Bu sistem, uygulaman\u0131z\u0131n genel g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc tutarl\u0131 hale getirmek i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<p>*   <strong>Primary Color:<\/strong> Uygulaman\u0131z\u0131n ana rengidir. \u00c7o\u011fu UI eleman\u0131nda kullan\u0131l\u0131r.<br \/>\n*   <strong>Secondary Color:<\/strong> Uygulaman\u0131z\u0131n ikincil rengidir, genellikle vurgu veya etkile\u015fimli elemanlarda kullan\u0131l\u0131r.<br \/>\n*   <strong>&#8220;On&#8221; Colors:<\/strong> Birincil, ikincil, y\u00fczey ve hata renkleri \u00fczerinde g\u00f6r\u00fcnen metin ve simgeler i\u00e7in kullan\u0131lan renklerdir. Yeterli kontrast\u0131 sa\u011flamak i\u00e7in genellikle beyaz veya siyah olurlar.<\/p>\n<p>Bu renkleri <code>themes.xml<\/code> dosyas\u0131nda tan\u0131mlamak, uygulaman\u0131z\u0131n genel temas\u0131n\u0131 belirler ve d\u00fc\u011fmeler gibi bir\u00e7ok bile\u015fenin varsay\u0131lan renklerini otomatik olarak etkiler.<\/p>\n<pre><code class=\"language-xml\"><!-- res\/values\/themes.xml -->\n<style name=\"Theme.MyApp\" parent=\"Theme.MaterialComponents.DayNight.NoActionBar\">\n    <!-- Primary brand color. -->\n    <item name=\"colorPrimary\">@color\/purple_500<\/item>\n    <item name=\"colorPrimaryVariant\">@color\/purple_700<\/item>\n    <item name=\"colorOnPrimary\">@color\/white<\/item>\n    <!-- Secondary brand color. -->\n    <item name=\"colorSecondary\">@color\/teal_200<\/item>\n    <item name=\"colorSecondaryVariant\">@color\/teal_700<\/item>\n    <item name=\"colorOnSecondary\">@color\/black<\/item>\n    <!-- Status bar color. -->\n    <item name=\"android:statusBarColor\">?attr\/colorPrimaryVariant<\/item>\n    <!-- Customize your theme here. -->\n<\/style><\/code><\/pre>\n<p><code>MaterialButton<\/code> gibi bile\u015fenler, bu tema renklerini otomatik olarak devral\u0131r. \u00d6rne\u011fin, <code>app:backgroundTint<\/code> niteli\u011fini kullanmadan bir <code>MaterialButton<\/code> olu\u015fturdu\u011funuzda, varsay\u0131lan olarak <code>colorPrimary<\/code> rengini kullanacakt\u0131r.<\/p>\n<h4>Eri\u015filebilirlik ve Kontrast Oran\u0131<\/h4>\n<p>Renk se\u00e7imi yaparken eri\u015filebilirlik standartlar\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmak \u00e7ok \u00f6nemlidir. Metin rengi ile arka plan rengi aras\u0131ndaki kontrast oran\u0131, \u00f6zellikle g\u00f6rme engelli veya renk k\u00f6r\u00fc kullan\u0131c\u0131lar i\u00e7in yeterli olmal\u0131d\u0131r. WCAG (Web Content Accessibility Guidelines) standartlar\u0131, metin ve arka plan aras\u0131nda belirli bir kontrast oran\u0131 (genellikle 4.5:1 veya daha y\u00fcksek) \u00f6nermektedir. Android Studio&#8217;daki Lint denetimleri ve \u00e7e\u015fitli online ara\u00e7lar bu kontrast oranlar\u0131n\u0131 kontrol etmenize yard\u0131mc\u0131 olabilir.<\/p>\n<h4>Dinamik Renkler ve Tema De\u011fi\u015fiklikleri<\/h4>\n<p>Android 12 ve sonraki s\u00fcr\u00fcmlerde tan\u0131t\u0131lan &#8220;Material You&#8221; ile birlikte, kullan\u0131c\u0131lar\u0131n duvar ka\u011f\u0131d\u0131na g\u00f6re uygulaman\u0131n tema renklerini otomatik olarak uyarlamas\u0131 m\u00fcmk\u00fcn hale gelmi\u015ftir. Bu, uygulaman\u0131z\u0131n daha ki\u015fiselle\u015ftirilmi\u015f bir deneyim sunmas\u0131n\u0131 sa\u011flar. Bu dinamik renkleri kullanmak i\u00e7in, uygulaman\u0131z\u0131n temas\u0131n\u0131 Material Design 3 (MD3) temalar\u0131na dayand\u0131rman\u0131z ve renkleri do\u011frudan <code>@android:color\/system_neutral1_800<\/code> gibi sistem referanslar\u0131ndan alman\u0131z gerekir.<\/p>\n<h3>D\u00fc\u011fme Etkile\u015fimleri ve Kullan\u0131c\u0131 Deneyimi<\/h3>\n<p>G\u00f6rsel tasar\u0131m\u0131n yan\u0131 s\u0131ra, bir d\u00fc\u011fmenin nas\u0131l etkile\u015fim kurdu\u011fu da kullan\u0131c\u0131 deneyimini do\u011frudan etkiler.<\/p>\n<h4>T\u0131klama Dinleyicileri (Click Listeners)<\/h4>\n<p>Bir d\u00fc\u011fme, bir eylemi tetiklemek i\u00e7in bir t\u0131klama dinleyicisine sahip olmal\u0131d\u0131r. Bu, Kotlin veya Java kodunda <code>setOnClickListener<\/code> metodu kullan\u0131larak yap\u0131l\u0131r:<\/p>\n<pre><code class=\"language-kotlin\">val myButton: Button = findViewById(R.id.my_button)\nmyButton.setOnClickListener {\n    \/\/ D\u00fc\u011fmeye t\u0131kland\u0131\u011f\u0131nda yap\u0131lacak i\u015flemler\n    Toast.makeText(this, \"D\u00fc\u011fmeye t\u0131kland\u0131!\", Toast.LENGTH_SHORT).show()\n}<\/code><\/pre>\n<h4>Dalgalanma Efekti (Ripple Effect)<\/h4>\n<p>Material Design, d\u00fc\u011fmelere dokunuldu\u011funda g\u00f6rsel bir geri bildirim olarak dalgalanma efekti (ripple effect) ekler. Bu, kullan\u0131c\u0131n\u0131n d\u00fc\u011fmenin etkile\u015fimli oldu\u011funu anlamas\u0131na yard\u0131mc\u0131 olur. <code>MaterialButton<\/code> bu efekti varsay\u0131lan olarak destekler. \u00d6zel d\u00fc\u011fmelerde ise, bir <code>ripple<\/code> drawable tan\u0131mlayarak veya <code>android:background=\"?attr\/selectableItemBackground\"<\/code> kullanarak bu efekti ekleyebilirsiniz.<\/p>\n<pre><code class=\"language-xml\"><!-- res\/drawable\/my_ripple_background.xml -->\n<ripple xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    android:color=\"?android:attr\/colorControlHighlight\"> <!-- Dalgalanma rengi -->\n    <item android:id=\"@android:id\/mask\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"#FFFFFF\" \/>\n            <corners android:radius=\"8dp\" \/>\n        <\/shape>\n    <\/item>\n    <item android:drawable=\"@drawable\/my_button_selector\" \/> <!-- Normal durum drawable'\u0131 -->\n<\/ripple><\/code><\/pre>\n<p>Bu <code>ripple<\/code> drawable&#8217;\u0131 d\u00fc\u011fmenin <code>android:background<\/code> niteli\u011fine atayarak dalgalanma efektini sa\u011flayabilirsiniz.<\/p>\n<h4>Haptik Geri Bildirim<\/h4>\n<p>D\u00fc\u011fmeye dokunuldu\u011funda hafif bir titre\u015fim (haptik geri bildirim) sa\u011flamak, kullan\u0131c\u0131ya fiziksel bir tepki hissi verir ve etkile\u015fimi daha tatmin edici hale getirebilir. Bu, genellikle sistem ayarlar\u0131 taraf\u0131ndan kontrol edilir, ancak belirli eylemler i\u00e7in programatik olarak tetiklenebilir.<\/p>\n<h4>D\u00fc\u011fme Boyutland\u0131rma ve Yerle\u015fimi<\/h4>\n<p>D\u00fc\u011fmeler, farkl\u0131 ekran boyutlar\u0131nda ve y\u00f6nelimlerinde kolayca eri\u015filebilir ve t\u0131klanabilir olmal\u0131d\u0131r. Minimum t\u0131klama alan\u0131 genellikle 48dp olarak \u00f6nerilir. D\u00fc\u011fmelerin layout i\u00e7inde uygun bir \u015fekilde yerle\u015ftirilmesi, kullan\u0131c\u0131 ak\u0131\u015f\u0131n\u0131 mant\u0131kl\u0131 hale getirir ve kafa kar\u0131\u015f\u0131kl\u0131\u011f\u0131n\u0131 \u00f6nler.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Android d\u00fc\u011fme tasar\u0131m\u0131, uygulaman\u0131z\u0131n ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahip, \u00e7ok y\u00f6nl\u00fc bir konudur. Temel <code>Button<\/code> widget&#8217;\u0131ndan ba\u015flayarak, <code>shape<\/code> ve <code>selector<\/code> drawable&#8217;lar arac\u0131l\u0131\u011f\u0131yla geli\u015fmi\u015f \u00f6zel tasar\u0131mlara, <code>MaterialButton<\/code>&#8216;\u0131n sundu\u011fu modern \u00f6zelliklere ve yuvarlak d\u00fc\u011fme tekniklerine kadar bir\u00e7ok se\u00e7ene\u011finiz bulunmaktad\u0131r. Renk y\u00f6netimi, eri\u015filebilirlik ve kullan\u0131c\u0131 etkile\u015fimleri gibi fakt\u00f6rler, sadece estetik de\u011fil, ayn\u0131 zamanda kullan\u0131labilirlik a\u00e7\u0131s\u0131ndan da b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r.<\/p>\n<p>Geli\u015ftiriciler ve tasar\u0131mc\u0131lar, bu ara\u00e7lar\u0131 ve prensipleri anlayarak, sadece i\u015flevsel de\u011fil, ayn\u0131 zamanda g\u00f6rsel olarak \u00e7ekici, sezgisel ve eri\u015filebilir Android uygulamalar\u0131 olu\u015fturabilirler. \u0130yi tasarlanm\u0131\u015f d\u00fc\u011fmeler, kullan\u0131c\u0131lar\u0131n uygulaman\u0131zla sorunsuz bir \u015fekilde etkile\u015fim kurmas\u0131n\u0131 sa\u011flayarak, genel kullan\u0131c\u0131 deneyimini zenginle\u015ftirir ve uygulaman\u0131z\u0131n ba\u015far\u0131s\u0131na do\u011frudan katk\u0131da bulunur. Gelecekte, Material You gibi dinamik renk sistemleri ve daha ki\u015fiselle\u015ftirilmi\u015f kullan\u0131c\u0131 aray\u00fczleri, d\u00fc\u011fme tasar\u0131m\u0131nda yeni yakla\u015f\u0131mlar\u0131 ve f\u0131rsatlar\u0131 beraberinde getirecektir. Bu evrimi takip etmek ve en iyi uygulamalar\u0131 benimsemek, her Android geli\u015ftiricisi ve tasar\u0131mc\u0131s\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler\nAndroid uygulama geli\u015ftirme d\u00fcnyas\u0131nda kullan\u0131c\u0131 aray\u00fcz","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-38654","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler\" \/>\n<meta property=\"og:description\" content=\"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler Android uygulama geli\u015ftirme d\u00fcnyas\u0131nda kullan\u0131c\u0131 aray\u00fcz\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-04T18:40:38+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler\",\"datePublished\":\"2026-02-04T18:40:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\"},\"wordCount\":2062,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\",\"name\":\"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-04T18:40:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/","og_locale":"tr_TR","og_type":"article","og_title":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler","og_description":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler Android uygulama geli\u015ftirme d\u00fcnyas\u0131nda kullan\u0131c\u0131 aray\u00fcz","og_url":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-04T18:40:38+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler","datePublished":"2026-02-04T18:40:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/"},"wordCount":2062,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/","url":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/","name":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-04T18:40:38+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/android-uygulama-gelistirmede-dugme-tasarimi-ozel-yuvarlak-ve-renkli-dugmeler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Android Uygulama Geli\u015ftirmede D\u00fc\u011fme Tasar\u0131m\u0131: \u00d6zel, Yuvarlak ve Renkli D\u00fc\u011fmeler"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38654"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38654\/revisions"}],"predecessor-version":[{"id":38655,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38654\/revisions\/38655"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}