Friday, March 23, 2018

Floating Action Button Ekleme

Selam Arkadaşlar,

Android Studio 'da proje geliştirirken bazen Image View , Text View veya ViewPager'lar üzerine buton eklemek isteriz. Bunu yapabilmek için ihtiyacımız olan ise Floating Action Button😉 Ben Text View üzerine Floating Action Button Ekleme işlemini örnekleyeceğim.


Öncelikle Gradle kısmına aşağıdaki kodları yazın ve Sync Now ' a basın.

1
2
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'

Daha sonra .xml dosyasının gerekli kısmına aşağıdaki kodda gerekli kısımları alın:)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/favplus"
        app:backgroundTint="#FFFFFF"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="24dp"
        android:layout_marginStart="24dp"
        android:clickable="true"
        app:fabSize="mini"/>

    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bg3"
        android:padding="10dp"
        android:fontFamily="sans-serif"
        android:gravity="center"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textStyle="italic" />
</RelativeLayout>

Tuesday, March 6, 2018

Android Layout Yüzdeleme

Merhaba Arkadaşlar,

Bugün Android Projelerinde olmazsa olmaz ekran tasarımının bir parçası olan ekranı yüzdeliklere ayırmayı anlatacağım. Aslında "layout_weight " kodunu kullanacağız. Layout'un hangi bölümünün  ne kadar ağırlıkta kalmasını istediğimizi belirliyoruz.

Android Studioda sayfa tasarımı yaparken bazen sayfaları belli dilimlere ayırmak, sayfa tasarımını daha kolay yapmamızı sağlayabilir. Android Studioda Sayfa tasarımı yaparken;

.xlm kısmındaki layout sayfamızı açarak gerekli olan araçları sayfamıza ekliyoruz.İlk örneğimiz vertical olarak hazırlanmıştır.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="100"
    tools:context="com.hande.umut.buttontiklama.MainActivity">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="50"
        android:orientation="vertical">

        <TextView
            android:id="@+id/text1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#7AC5CD"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:text="Yüzde50"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textStyle="italic" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="20"
        android:orientation="vertical">

        <TextView
            android:id="@+id/text2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#76EE00"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:text="Yüzde 20"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textStyle="italic" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="30"
        android:orientation="vertical">


        <TextView
            android:id="@+id/text3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#8A2BE2"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:text="Yüzde 30"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textStyle="italic" />
    </LinearLayout>
</LinearLayout>

Dikey olarak hazırlanmış örneğimizde aşağıdaki gibidir;





 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="100"
    tools:context="com.hande.umut.buttontiklama.MainActivity">


        <TextView
            android:id="@+id/text1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="#7AC5CD"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:layout_weight="50"
            android:text="Yüzde50"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textStyle="italic" />

        <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="#76EE00"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:layout_weight="20"
            android:text="Yüzde 20"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textStyle="italic" />


        <TextView
            android:id="@+id/text3"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="30"
            android:background="#8A2BE2"
            android:fontFamily="sans-serif"
            android:gravity="center"
            android:text="Yüzde 30"
            android:textAlignment="center"
            android:textColor="#000000"
            android:textStyle="italic" />

</LinearLayout>

Wednesday, February 21, 2018

Android Studio Font Ekleme

Merhaba Arkadaşlar,

Bugün Android Studio'da geliştirdiğimiz projede, kullandığımız yazı tipimizi değiştirmek için uygulamamız gereken adımları anlatacağım.

Öncelikle kullanacağınız fontu seçip indirmeniz gerekiyor.Eğer projede Türkçe karakter kullacaksanız (şçö gibi) yazı tipinin Türkçe karakterleri barındırıyor olmasına dikkat edin.

Font indirebilceğiz örnek siteler:
http://www.fonttr.com/
http://www.urbanfonts.com/

Project kısmından app>New>Folder>Assets Folder 'a tıklayarak Assets Folder'ımızı oluşturalım.Assets klasörü altında sağ tık new> Directory diyerek fonts klasörü oluşuturuyoruz.



Seçtiğimiz .ttf uzantılı yazı tipimizi assets klasörü altında fonts klasörünün içine atıyoruz.

.java dosyamıza aşağıdaki kodları ekleyerek Fontumuzu kullanmaya başlayabiliriz.

1
2
3
4
5
6
7
AssetManager am = getApplicationContext().getAssets();

        Typeface typeface = Typeface.createFromAsset(am,"fonts/tagetts.ttf");

        textmesaj.setTypeface(typeface);

        textmesaj.setText("selam");


Tuesday, February 20, 2018

Android Arka Plan Değiştirme

Android Studio da gelitirğimiz bir projede isteiğimiz arka planı kullanmak için aşağıdaki adımları uylamamız gerekiyor.

 Öncelikle uzantısı .jpg veya .png olan bir resim buluyoruz. Bu resmi uygulamamızın, res klasörü altındaki drawable içine atıyoruz. Benim resmimin adı arakaplan.



Ardından  projemize gidiyoruz ve  Project menüsünden Clean komutuna tıklayarak projemizin klasörü içerisinde yapılan değişikliklerin algılanmasını sağlıyoruz.  .xml uzantılı dosyamıza ana layout içerisne aşağıdaki kodu ekliyoruz.

1
android:background="@mipmap/arkaplan"

 Kodu yazdığımızda yazdığımız projenin arkaplanına resmimizin geldiğini emulatörümüzden görebiliriz.


Tuesday, February 6, 2018

Geri Tuşuna Basma - onBackPressed()

Android Studio'da yazdığınız bir uygulamada  geri tuşuna basıldığında AlertDialog ile bir mesaj verip, çıkış işleminin yapılasını kontrol etmek için yapılacak işlemler aşağıdaki gibidir.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
@Override    public void onBackPressed() {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setCancelable(false);
            builder.setMessage("Çıkış Yapmak istiyor musunuz?");
            builder.setPositiveButton("EVET", new DialogInterface.OnClickListener() {
                @Override            public void onClick(DialogInterface dialog, int which) {
                 // Evet'e basılınca yapılacak işlemleri yazınız
                    finish();
                }
            });
            builder.setNegativeButton("HAYIR", new DialogInterface.OnClickListener() {
                @Override            public void onClick(DialogInterface dialog, int which) {
                   // Hayır'a baslınca yapılacak işmeleri yazınız
                    dialog.cancel();
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
        }
   

EVET butonuna bastığımızda ben finish() dediğim için program sonlanıyor siz başka bir sayfaya geçsin istiyorsanız ona göre intent kodu ile başka sayfaya yönlendirebilirsiniz.
Ekran Görüntüsü:


Friday, February 2, 2018

Alert Dialog ile Mesaj Kutusu

Android Studio 'da programlama yaparken Uyarı mesajlarına seçenekler (evet hayır,iptal, tamam gibi) Alert Dialog kullanırız. İki seçenekli yaptığımızda setNegativeButton veya setPositiveButton'ları ayarlarız. Eğer sadece  tek seçenekli bir durum söz konusu ise "Tamam" gibi o zaman aşağıdaki koddan setNegativeButton kısmını kaldırmanız yeterli olacaktır.

Kodumuzun .java kısmı;

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
 renkDegistir.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("Buraya Başlık yazılacak");
                builder.setMessage("Diğer Sayfaya Geçmek İstiyor musunuz?!!!");
                builder.setNegativeButton("HAYIR", new DialogInterface.OnClickListener(){
                    public void onClick(DialogInterface dialog, int id) {
                        //HAYIR butonuna basılınca yapılacak işlemler
                    }
                });

                builder.setPositiveButton("EVET", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {

                        Intent intocan = new Intent(MainActivity.this, MainActiviy2.class);
                        startActivity(intocan);
                    }
                });
                builder.show();

Ekran Görüntüsü:



Monday, January 29, 2018

Textview 'i Justify Yapma

Textview 'i Justify yapmak ne kadar zor olabilirki... wallaha çok zor :) Android Studioda yazdığınız projenin Gradle kısmına aşağıdaki kodu yazın;

1
2
3
dependencies {
    compile 'com.uncopt:android.justified:1.0'
}

.xml dosyanızda aşağıdaki gibi oluşturun. Yazıyı values kısmından string.xml’e girip LoremIpsum'tan ürettiğim texti oraya kaydettim ve bu text'i XML ekranından çağırdım.(bunu yapmanıza gerek yok)

1
2
3
4
<com.uncopt.android.widget.text.justify.JustifiedTextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="@string/loremipsum"/>

java kod kısmınada JustifiedTextView'i aşağıdaki şekilde tanımladım.

1
justifiedTextView =(JustifiedTextView) findViewById(R.id.justifiedTextView);

Ve ekran görüntmüz:) Webview ilede Justify yapabilme medodu var, ama o hem daha meşakatli hemde arka plan rengini değiştiriyor. Ama onuda öğreneyim derseniz yazın burdan paylaşırım:))


Thursday, January 25, 2018

Android Geri Butonu Ekleme

Selamlar,

Android  Studio'da proje geliştirken, Action Bar'ınıza geri butonu eklemek istiyorsanız öncelikle AndroidManifest.xml dosyasında geri tuşu eklemek isteğiniz ekrana aşağıdaki kodları ekleyin.

1
2
3
4
5
6
7
8
 <activity android:name=".MainActiviy2"
        android:label="Main2Activiy2"
        android:theme="@style/Theme.AppCompat.Light"
        android:parentActivityName="com.hande.umut.buttontiklama.MainActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.hande.umut.buttontiklama.MainActivity" />
</activity>

 Sonra hangi sayfadan geri dönmek istiyorsanız o ekrana aşağıdaki kodları ekleyin. Geri Butonunuz çıkmış olacak:))

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
public class MainActiviy2  extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.actvity_main2);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            // Respond to the action bar's Up/Home button
            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Ekran Görüntüsü



Tuesday, January 23, 2018

Android Studio Bottona Tıklama

Android Studio'da geliştirdiğimiz  uygulamalarda, butona bastığımızda bir olayın gerçekleşmesini istiyorsak setOnclickListener() özeliğini kullanılırız. setOnclickListener() özelliğini, buttona bastığımızda ekranda görünen text'in rengni değiştiren bir uygulama ile örneklemeye çalışacağım.

activity_main.xml Sayfası aşağıdaki gibi olacaktır.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.hande.umut.buttontiklama.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            android:textSize="100sp"
            android:gravity="center"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/renkDegistir"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Renk Değiştir" />
    </LinearLayout>

</android.support.constraint.ConstraintLayout>

java kodlarıda aşağıda verildiği gibidir:)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.hande.umut.buttontiklama;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    Button renkDegistir;
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        renkDegistir= (Button) findViewById(R.id.renkDegistir);
        textView= (TextView) findViewById(R.id.textView);

        renkDegistir.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                textView.setTextColor(Color.BLUE);
            }
        });
    }
}

Butona Tıklamadan Önceki Ekran Görüntüsü

Butona Tıkladıktan Sonraki Ekran Görüntüsü


Monday, January 22, 2018

Android Studio ERROR RUNNİNG APP

Android Studio'da yazdığınız projeyi çalıştıdığınızda "ERROR RUNNING APP, DEFAULT ACTIVITY NOT FOUND" hatası alıyorsa, programa proje başladığında hangi sayfa ile başladığını belirtmediğiniz içindir. Bu durumu düzeltmek için oluşturduğunuz AndroidManifest.xml dosyasında oluşturduğunuz activitylerin hangisini ana ekran yapmak istiyorsanız. Aşağıdaki kodu <activty> </activty> arasına ekleyin.





1
2
3
4
5
<intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
activty> 'ler arasına yerleştirdiğinizde kod aşağıdaki gibi görünecektir.
1
2
3
4
5
6
7
8
   <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main"     android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Friday, January 19, 2018

Android Studio'da Butona Basınca Müzik Çalma

Merhaba Arkadaşlar,

Bugün Android Studio'da bir butona tıklandığımızda MP3 Çalma işemini anlatacağım. Bunun için bilgisayarda bulunan bir müzikten yardım aldım:)

Öncelikle Projemizin app< res <rav dosyası altına istediğimiz mp3 müziğini atıyoruz. Müzik isminde Türçe karakter ve (çizgi,alttan çizgi) gibi karakterleri kabul etmiyor.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import android.media.MediaPlayer;
Button bStop, bPlay b,bPause;
public MediaPlayer muslumbaba;

public  void getMusic()
{
    muslumbaba = MediaPlayer.create(MainActivity.this, R.raw.muslumbabaaffet );
}
@Overrideprotected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    bPlay = (Button) findViewById(R.id.bPlay);
    bStop = (Button) findViewById(R.id.bStop);
    bPause =(Button)findViewById(R.id.bPause);

bPlay.setOnClickListener(new View.OnClickListener() {
 @Override public void onClick(View view) {

 muslumbaba.start();

    }

BPause.setOnClickListener(new View.OnClickListener() {
 @Override public void onClick(View view) {

  muslumbaba.pause();

   }
bStop.setOnClickListener(new View.OnClickListener() {
  @Override public void onClick(View view) {

  muslumbaba.stop();

    }

});

Thursday, January 11, 2018

Android'te Text' e Link Verme

Merhaba Arkadaşlar,

Bugün Android Studio'da  bir text' e link vermeyi anlatacağım. Bunun için kodlamanın java kımsına girip onCreate kısmına aşağıdaki kodları yazıdım.







 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
link = (TextView) findViewById(R.id.link);

        link.setText("Devamını okumak için tıklayınız");
        link.setOnClickListener(new View.OnClickListener() {

        @Override    public void onClick(View view) {
        Uri uri = Uri.parse(a.getUrl());
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
        }
        });
Yaptğım işlem kısaca;
  • link adındaki TextView'ı tanıtmak
  • yazmak isteğim text'i oraya yazdıktan sonra
  • setOnClickListener ile webservisten aldığım url'yi yeni sayfada açtırmak:)

Monday, January 8, 2018

ScrollView Ekleme

Android Studio programında yazdığınız uygulama uzun paragraflar içerebilir ve içerik tek bir sayfada görüntülenemebilir. Bunun için ScrollView kullanmanız gerekmektedir.

ScrollView'i örneklerken, daha ConstraintLayout'un üst kısmına Scrollview için gerekli kodları yazdım. Values kısmından string.xml’e girip LoremIpsum'tan ürettiğim texti oraya kaydettim ve bu text'i XML ekranından çağırdım. Kodlar aşağıdak gibidir.





 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<ScrollView    android:layout_height="match_parent"    
android:layout_width="match_parent"    
xmlns:android="http://schemas.android.com/apk/res/android">

<android.support.constraint.ConstraintLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"    
    android:layout_width="match_parent"    
    android:layout_height="match_parent"    
    tools:context="com.hande.umut.toastmesaj.MainActivity">

    <TextView        android:id="@+id/textmesaj"        
    android:layout_width="wrap_content"        
    android:layout_height="wrap_content"        
    android:text="@string/loremipsum"        
    app:layout_constraintBottom_toBottomOf="parent"        
    app:layout_constraintLeft_toLeftOf="parent"        
    app:layout_constraintRight_toRightOf="parent"        
    app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
</ScrollView>