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>