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>

Friday, December 29, 2017

Android Programlamada Intent ile Sayfa Geçişi

Merhabalar;

Bugün Intent ile Sayfalar arası geçişin nasıl yapıldığını anlatacağım. Öncelikle İkinci bir Activity oluşturmanız gerekiyor. İkinci Activity aşağıdaki şekilde oluşturulur. Activityi açtığımız zaman, hem XML hem de Java dosyamız aynı isimle açılmış olacak :)


İkinci sayfaya herhangi bir şey eklemedim. Birinci Sayfanın java kısmına aşağıdaki kodlamayı eklerseniz. Programınız çalıştırınca butona tıkmalanız halinde diğer sAyfaya geçiş yapacaksınız. Bu sayfalar arası veri taşımadan yaptığımız işlem. Eğer sayflar arası veri taşımak itiyorsanız Tıklayınız. :)

KODLAR:
 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
package com.hande.umut.toastmesaj;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.button1;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private TextView textmesaj;
    private Button button1

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textmesaj = (TextView) findViewById(R.id.textmesaj);

        button1.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                Intent intocan = new Intent(MainActivity.this, Main2Activity.class);

                startActivity(intocan);

            }

        });

    }

}


Wednesday, December 27, 2017

Android Toast ile Ekranda Mesaj Gösterme

Merhabalar;


Bugün Android uygulamalarda, bilgi verme amaçlı kullanılan Toast Mesajının kullanım şekillerini anlatacağım. Toast mesajı ekranın alt kısmında siyah bir desen üzerinde belli bir süre durduktan sonra kaybolan bir geri bildirim mesajıdır. Ekranda kalma süresi için ise; “LENGTH_SHORT” veya “LENGTH_LONG” olarak iki seçeneğimiz bulunmaktadır. 

Öncelikle bir işlem sonunda kendi belirlediğimiz mesaj için kodları göstereceğim. Bu kodda mesajın, ekranda daha kısa bir zaman görünmesini sağlayan “LENGTH_SHORT”  'u kullanmayı tercih ettim.




 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package com.hande.umut.toastmesaj;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private TextView textmesaj;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textmesaj =(TextView)findViewById(R.id.textmesaj);
        Toast.makeText(this, "Ne istersen onu yaz", Toast.LENGTH_SHORT).show();
    }
}

Şimdide projemizde hali hazırda bulunan TextView'ın ekranda görünmesi mesaj için kodlarını göstereceğim. Bu kodda mesajın, ekranda daha uzun bir zaman görünmesini sağlayan “LENGTH_LONG” 'u kullanmayı tercih ettim.



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package com.hande.umut.toastmesaj;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private TextView textmesaj;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textmesaj = (TextView) findViewById(R.id.textmesaj);
        Toast.makeText(getApplicationContext(),textmesaj.getText(),Toast.LENGTH_LONG).show();
    }
}

Tuesday, December 26, 2017

TextView Genel Özelikleri


TextView Yazıyı Ortalama:
TextViewdeki yazıları ortalamak için XML Layout'una textviewin özelliklerinin bulunduğu satırların arasına yazmanız gereken kod aşağıdaki gibidir.

android:gravity="center"

TextView Yazı Boyutu:

TextView içerisindeki yazı boyutunu değiştirmek için; XML Layout'una textviewin özelliklerinin bulunduğu satırların arasına yazmanız gereken kod aşağıdaki gibidir. Ben örnek olarak 20 yazdım, siz istediğiniz boyutu verebilirsiniz.

android:textSize="20sp"


TextView Yazı Stili: 

TextView içerisindeki yazı Stilini değiştirmek için; XML Layout'una textview'in özelliklerinin bulunduğu satırların arasına yazmanız gereken kod aşağıdaki gibidir. Ben örnek olarak bold yazdım, siz istediğiniz stili verebilirsiniz.

android:textStyle="bold" 

TextView Yazı Rengi: 

TextView içerisindeki yazı rengini değiştirmek için; XML Layout'una textview'in özelliklerinin bulunduğu satırların arasına yazmanız gereken kod aşağıdaki gibidir. Ben örnek olarak siyah yazdım, siz istediğiniz rengi verebilirsiniz.

android:textColor="#000000"

TEXTVIEW MARGIN:

TextView'in dışında kalan alanın dört tarafınaolan uzaklığını belirler.XML Layout'una textview'in özelliklerinin bulunduğu satırların arasına; 


marginLeft, marginRight, marginTop, marginBottom kodları ile, TextView' ın sağ, sol yukarı ve aşağıya olan mesafelerinide ayarlayabilirsiniz.

android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"

TEXTVIEW PADDING: 

TextView'in sınırlarına olan uzaklığını belirler.XML Layout'una textview'in özelliklerinin bulunduğu satırların arasına ;

PaddingLeft, PaddingRight, PaddingTop, PaddingBottom kodları ile, TextView' ın sağ, sol yukarı ve aşağıya olan sınır mesafelerinide ayarlayabilirsiniz.

android:layout_paddingLeft="10dp"
android:layout_paddingRight="10dp"
android:layout_paddingBottom="10dp"
android:layout_paddingTop="10dp"