Şimdi Ara

Android sadece TableLayout’da daire çizmek(canvas)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
23
Cevap
0
Favori
600
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Merhaba,

    arkadaşlar ben sadece TableLayout’da daire çizmek istiyorum. setcontentview veya addcontentview ile tüm activityde daire çizebiliyorum. Ama ben sadece TableLayout’da çizmek istiyorum.

    Nasıl yapabilirim?

    Yardımınıza ihtiyacım var.

    < Bu ileti DH mobil uygulamasından atıldı >



  • Daire çizdirdiğin kod bloğunu paylaşır mısın?

    < Bu ileti DH mobil uygulamasından atıldı >
  • quote:

    Orijinalden alıntı: an agony

    Daire çizdirdiğin kod bloğunu paylaşır mısın?
    Merhaba,

    şu kodu kullanıyorum :

    package com.example.xxx.sozcukavi;

    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;

    import java.util.ArrayList;

    public class cizim extends View {

    Path path = new Path();
    Paint paint = new Paint();

    ArrayList<Float> xarray = new ArrayList<Float>();
    ArrayList<Float> yarray = new ArrayList<Float>();

    public cizim(Context c){

    super(c);
    paint.setColor(Color.RED);
    paint.setAntiAlias(true);

    }

    @Override
    protected void onDraw(Canvas canvas){

    canvas.drawPath(path, paint);
    super.onDraw(canvas);

    }

    @Override
    public boolean onTouchEvent(MotionEvent event){

    if(event.getAction() != MotionEvent.ACTION_DOWN) {

    float x = event.getX();
    float y = event.getY();

    xarray.add(x);
    yarray.add(y);

    Log.w("Dikkat", "x : " + x + " y : " + y);
    path.addCircle(x, y, 10, Path.Direction.CW);
    invalidate();
    return true;

    }else{

    oyun arrayoyun = new oyun();
    ArrayList<Integer> denemearray = arrayoyun.getxarray();

    for(int ixykor = 0; ixykor < xarray.size(); ixykor++){

    //xarray.get(ixykor) yarray.get(ixykor)

    }

    return true;

    }

    }

    }


    Çizdirmek istediğim sayfada addcontentview(new cizim(this)); şeklinde kullanıyorum. Yukarıda paylaştığım kod cizim.class dosyası oluyor. Ama addcontentview yaptığım zaman tüm sayfada çiziliyor. TableLayout'a addview yaptığım zaman table sağa kayıyor, görüntü bozuluyor.

    Yardımınıza ihtiyacım var.




  • Stack Overflow
    Drawing Rectangle inside TableLayout in Android app
    https://stackoverflow.com/questions/16262119/drawing-rectangle-inside-tablelayout-in-android-app


    Hocam burda bir örnek var ama pc başında değilim şuan. Bakabilir misiniz?

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • kreat kullanıcısına yanıt
    Merhaba,

    kod çalışıyor. Ama yeni bir tablerow da çalışıyor. Ben önceden tablerowlarım hazır xml dosyasında. Alıp tablodan silip yeniden ekleyince olmuyor.

    Ne yapmalıyım?

    Cevaplarınızı bekliyorum.

    < Bu ileti DH mobil uygulamasından atıldı >
  • webandyazilimprofesor W kullanıcısına yanıt
    Hocam layout ve main activity dosyasını paylaşır mısın? Layouttaki row'a addview yaptın mı hocam ?



    < Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 10:28:41 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: kreat

    Hocam layout ve main activity dosyasını paylaşır mısın? Layouttaki row'a addview yaptın mı hocam ?
    Tabi.

    Layout:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <ImageButton
    android:id="@+id/anasayfab"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:src="@drawable/anasayfa"
    android:scaleType="fitXY"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="20dp"
    android:layout_marginStart="20dp"
    />

    <TableLayout
    android:id="@+id/tablo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/anasayfab"
    android:layout_marginTop="40dp"
    >

    <TableRow
    android:id="@+id/tabloa"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloaa"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloac"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabload"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloae"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloaf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloag"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloah"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloai"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloaj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tablob"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloba"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobe"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablobj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tabloc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloca"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablocb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablocc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablocd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloce"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablocf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablocg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloci"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablocj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tablod"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloda"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablode"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablodj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tabloe"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloea"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloeb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloec"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloed"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloee"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloef"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloeg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloeh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloei"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloej"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tablof"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tablofa"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofe"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloff"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"

    />

    <TextView
    android:id="@+id/tablofg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablofj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tablog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloga"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablogj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tabloh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloha"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohe"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablohj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tabloi"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloia"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloib"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloic"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloid"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloie"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloif"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloig"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloih"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloii"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloij"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    <TableRow
    android:id="@+id/tabloj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView
    android:id="@+id/tabloja"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloje"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tabloji"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    <TextView
    android:id="@+id/tablojj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="28sp"
    android:textStyle="bold"
    />

    </TableRow>

    </TableLayout>

    <LinearLayout
    android:id="@+id/sozcukl1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tablo"
    android:layout_marginTop="20dp"
    android:orientation="vertical"
    >

    <TextView
    android:id="@+id/sozcukta"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcuktb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcuktc"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcuktd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcukte"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    </LinearLayout>

    <LinearLayout
    android:id="@+id/sozcukl2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tablo"
    android:layout_marginTop="20dp"
    android:layout_toEndOf="@+id/sozcukl1"
    android:layout_marginStart="50dp"
    android:orientation="vertical"
    >

    <TextView
    android:id="@+id/sozcuktf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcuktg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcukth"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcukti"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    <TextView
    android:id="@+id/sozcuktj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

    </LinearLayout>

    </RelativeLayout>


    Activity-class:

    package com.example.x_ren.sozcukavi;

    import android.content.Context;
    import android.content.Intent;
    import android.graphics.*;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.AttributeSet;
    import android.util.Log;
    import android.util.Pair;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.ViewTreeObserver;
    import android.widget.*;

    import java.util.*;

    public class oyun extends AppCompatActivity {

    TableLayout bulmacatablo;
    TextView sozcuka, sozcukb, sozcukc, sozcukd, sozcuke, sozcukf, sozcukg, sozcukh, sozcuki, sozcukj, kortv;
    ImageButton anasayfabtn;
    ArrayList<Integer> xbas;

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

    //cizim ciz = new cizim(this);

    bulmacatablo = (TableLayout)findViewById(R.id.tablo);

    sozcuka = (TextView)findViewById(R.id.sozcukta);
    sozcukb = (TextView)findViewById(R.id.sozcuktb);
    sozcukc = (TextView)findViewById(R.id.sozcuktc);
    sozcukd = (TextView)findViewById(R.id.sozcuktd);
    sozcuke = (TextView)findViewById(R.id.sozcukte);
    sozcukf = (TextView)findViewById(R.id.sozcuktf);
    sozcukg = (TextView)findViewById(R.id.sozcuktg);
    sozcukh = (TextView)findViewById(R.id.sozcukth);
    sozcuki = (TextView)findViewById(R.id.sozcukti);
    sozcukj = (TextView)findViewById(R.id.sozcuktj);

    anasayfabtn = (ImageButton)findViewById(R.id.anasayfab);

    anasayfabtn.setOnClickListener ( new View.OnClickListener () {
    public void onClick (View anasayfav){

    Intent oanasayfag = new Intent(oyun.this, MainActivity.class);
    startActivity(oanasayfag);

    }
    });

    ArrayList<TextView> sozcukler = new ArrayList<TextView>();

    sozcukler.add(sozcuka);
    sozcukler.add(sozcukb);
    sozcukler.add(sozcukc);
    sozcukler.add(sozcukd);
    sozcukler.add(sozcuke);
    sozcukler.add(sozcukf);
    sozcukler.add(sozcukg);
    sozcukler.add(sozcukh);
    sozcukler.add(sozcuki);
    sozcukler.add(sozcukj);

    final ArrayList<String> bulmacakelimeler = new ArrayList<String>();
    ArrayList<String> bulmacakelimelerr = new ArrayList<String>();

    Log.w("Dikkar", "1");

    bulmacakelimelerr.add("araba");
    bulmacakelimelerr.add("öğretmen");
    bulmacakelimelerr.add("polis");
    bulmacakelimelerr.add("mühendis");
    bulmacakelimelerr.add("doktor");
    bulmacakelimelerr.add("futbol");
    bulmacakelimelerr.add("voleybol");
    bulmacakelimelerr.add("basketbol");
    bulmacakelimelerr.add("golf");
    bulmacakelimelerr.add("tenis");
    bulmacakelimelerr.add("raf");
    bulmacakelimelerr.add("dolap");
    bulmacakelimelerr.add("televizyon");
    bulmacakelimelerr.add("mum");
    bulmacakelimelerr.add("ayna");
    bulmacakelimelerr.add("lamba");
    bulmacakelimelerr.add("telefon");
    bulmacakelimelerr.add("bilgisayar");
    bulmacakelimelerr.add("anahtar");
    bulmacakelimelerr.add("disk");
    bulmacakelimelerr.add("bellek");
    bulmacakelimelerr.add("kart");
    bulmacakelimelerr.add("eşofman");
    bulmacakelimelerr.add("şapka");
    bulmacakelimelerr.add("saat");
    bulmacakelimelerr.add("bilezik");
    bulmacakelimelerr.add("kolye");
    bulmacakelimelerr.add("yüzük");
    bulmacakelimelerr.add("gözlük");
    bulmacakelimelerr.add("kablo");
    bulmacakelimelerr.add("sepet");
    bulmacakelimelerr.add("kulaklık");
    bulmacakelimelerr.add("kağıt");
    bulmacakelimelerr.add("kalem");
    bulmacakelimelerr.add("kalemlik");
    bulmacakelimelerr.add("dosya");
    bulmacakelimelerr.add("defter");
    bulmacakelimelerr.add("kitap");
    bulmacakelimelerr.add("silgi");
    bulmacakelimelerr.add("masa");
    bulmacakelimelerr.add("sandalye");
    bulmacakelimelerr.add("yastık");
    bulmacakelimelerr.add("kılık");
    bulmacakelimelerr.add("kanepe");
    bulmacakelimelerr.add("madalyon");
    bulmacakelimelerr.add("peçete");
    bulmacakelimelerr.add("günlük");
    bulmacakelimelerr.add("meslek");
    bulmacakelimelerr.add("dişçi");
    bulmacakelimelerr.add("fırıncı");
    bulmacakelimelerr.add("market");
    bulmacakelimelerr.add("oyuncak");
    bulmacakelimelerr.add("fil");
    bulmacakelimelerr.add("maymun");
    bulmacakelimelerr.add("zürafa");
    bulmacakelimelerr.add("fare");
    bulmacakelimelerr.add("goril");
    bulmacakelimelerr.add("klavye");
    bulmacakelimelerr.add("tuş");
    bulmacakelimelerr.add("hoparlör");
    bulmacakelimelerr.add("aslan");
    bulmacakelimelerr.add("kaplan");
    bulmacakelimelerr.add("kedi");
    bulmacakelimelerr.add("köpek");
    bulmacakelimelerr.add("yılan");
    bulmacakelimelerr.add("güneş");
    bulmacakelimelerr.add("krem");
    bulmacakelimelerr.add("merhem");
    bulmacakelimelerr.add("ilaç");
    bulmacakelimelerr.add("deniz");
    bulmacakelimelerr.add("kum");
    bulmacakelimelerr.add("okyanus");
    bulmacakelimelerr.add("göl");
    bulmacakelimelerr.add("kanal");
    bulmacakelimelerr.add("park");
    bulmacakelimelerr.add("ağaç");
    bulmacakelimelerr.add("orman");
    bulmacakelimelerr.add("türkü");
    bulmacakelimelerr.add("şarkı");
    bulmacakelimelerr.add("davul");
    bulmacakelimelerr.add("cetvel");
    bulmacakelimelerr.add("çizgi");
    bulmacakelimelerr.add("bant");
    bulmacakelimelerr.add("sunum");
    bulmacakelimelerr.add("slayt");
    bulmacakelimelerr.add("çerçeve");
    bulmacakelimelerr.add("zımba");
    bulmacakelimelerr.add("ataç");
    bulmacakelimelerr.add("ofis");
    bulmacakelimelerr.add("melodika");
    bulmacakelimelerr.add("klarnet");
    bulmacakelimelerr.add("slime");
    bulmacakelimelerr.add("tasarım");
    bulmacakelimelerr.add("boya");
    bulmacakelimelerr.add("fırça");
    bulmacakelimelerr.add("tablo");
    bulmacakelimelerr.add("koli");
    bulmacakelimelerr.add("karton");
    bulmacakelimelerr.add("gitar");
    bulmacakelimelerr.add("saz");
    bulmacakelimelerr.add("ukulele");
    bulmacakelimelerr.add("bağlama");
    bulmacakelimelerr.add("kalemtıraş");
    bulmacakelimelerr.add("üçgen");
    bulmacakelimelerr.add("kare");
    bulmacakelimelerr.add("beşgen");
    bulmacakelimelerr.add("altıgen");
    bulmacakelimelerr.add("yamuk");
    bulmacakelimelerr.add("çokgen");
    bulmacakelimelerr.add("dörtgen");
    bulmacakelimelerr.add("yıldız");
    bulmacakelimelerr.add("daire");
    bulmacakelimelerr.add("yunus");
    bulmacakelimelerr.add("balina");
    bulmacakelimelerr.add("balık");
    bulmacakelimelerr.add("yengeç");
    bulmacakelimelerr.add("ahtapot");
    bulmacakelimelerr.add("karides");
    bulmacakelimelerr.add("kurbağa");
    bulmacakelimelerr.add("timsah");
    bulmacakelimelerr.add("kaz");
    bulmacakelimelerr.add("ördek");
    bulmacakelimelerr.add("bisiklet");
    bulmacakelimelerr.add("fayton");
    bulmacakelimelerr.add("kamyon");
    bulmacakelimelerr.add("metrobüs");
    bulmacakelimelerr.add("makas");
    bulmacakelimelerr.add("gül");
    bulmacakelimelerr.add("lale");
    bulmacakelimelerr.add("karanfil");
    bulmacakelimelerr.add("zambak");
    bulmacakelimelerr.add("nergis");
    bulmacakelimelerr.add("sümbül");
    bulmacakelimelerr.add("nilüfer");
    bulmacakelimelerr.add("menekşe");
    bulmacakelimelerr.add("leylek");
    bulmacakelimelerr.add("papatya");
    bulmacakelimelerr.add("vida");
    bulmacakelimelerr.add("çekiç");
    bulmacakelimelerr.add("pense");
    bulmacakelimelerr.add("tornavida");
    bulmacakelimelerr.add("keman");
    bulmacakelimelerr.add("org");
    bulmacakelimelerr.add("flüt");
    bulmacakelimelerr.add("marakas");
    bulmacakelimelerr.add("takvim");
    bulmacakelimelerr.add("cam");
    bulmacakelimelerr.add("gazete");
    bulmacakelimelerr.add("havaalanı");
    bulmacakelimelerr.add("otel");
    bulmacakelimelerr.add("hastane");
    bulmacakelimelerr.add("postane");
    bulmacakelimelerr.add("müze");
    bulmacakelimelerr.add("sinema");
    bulmacakelimelerr.add("yaz");
    bulmacakelimelerr.add("kış");
    bulmacakelimelerr.add("ilkbahar");
    bulmacakelimelerr.add("sonbahar");
    bulmacakelimelerr.add("hafta");
    bulmacakelimelerr.add("gün");

    for(int ikelime = 0; ikelime < bulmacakelimelerr.size(); ikelime++){
    bulmacakelimelerr.set(ikelime, bulmacakelimelerr.get(ikelime).toUpperCase());
    }

    for(int iiiii = 0; iiiii < 10; iiiii++){

    Collections.shuffle(bulmacakelimelerr);
    bulmacakelimeler.add(bulmacakelimelerr.get(0));
    bulmacakelimelerr.remove(0);

    }

    Integer[][] bulmaca = {
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    };

    Integer[] satirlarr = new Integer[1011];

    satirlarr[11] = R.id.tabloaa;
    satirlarr[12] = R.id.tabloab;
    satirlarr[13] = R.id.tabloac;
    satirlarr[14] = R.id.tabload;
    satirlarr[15] = R.id.tabloae;
    satirlarr[16] = R.id.tabloaf;
    satirlarr[17] = R.id.tabloag;;
    satirlarr[18] = R.id.tabloah;
    satirlarr[19] = R.id.tabloai;
    satirlarr[110] = R.id.tabloaj;

    satirlarr[21] = R.id.tabloba;
    satirlarr[22] = R.id.tablobb;
    satirlarr[23] = R.id.tablobc;
    satirlarr[24] = R.id.tablobd;
    satirlarr[25] = R.id.tablobe;
    satirlarr[26] = R.id.tablobf;
    satirlarr[27] = R.id.tablobg;
    satirlarr[28] = R.id.tablobh;
    satirlarr[29] = R.id.tablobi;
    satirlarr[210] = R.id.tablobj;

    satirlarr[31] = R.id.tabloca;
    satirlarr[32] = R.id.tablocb;
    satirlarr[33] = R.id.tablocc;
    satirlarr[34] = R.id.tablocd;
    satirlarr[35] = R.id.tabloce;
    satirlarr[36] = R.id.tablocf;
    satirlarr[37] = R.id.tablocg;
    satirlarr[38] = R.id.tabloch;
    satirlarr[39] = R.id.tabloci;
    satirlarr[310] = R.id.tablocj;

    satirlarr[41] = R.id.tabloda;
    satirlarr[42] = R.id.tablodb;
    satirlarr[43] = R.id.tablodc;
    satirlarr[44] = R.id.tablodd;
    satirlarr[45] = R.id.tablode;
    satirlarr[46] = R.id.tablodf;
    satirlarr[47] = R.id.tablodg;
    satirlarr[48] = R.id.tablodh;
    satirlarr[49] = R.id.tablodi;
    satirlarr[410] = R.id.tablodj;

    satirlarr[51] = R.id.tabloea;
    satirlarr[52] = R.id.tabloeb;
    satirlarr[53] = R.id.tabloec;
    satirlarr[54] = R.id.tabloed;
    satirlarr[55] = R.id.tabloee;
    satirlarr[56] = R.id.tabloef;
    satirlarr[57] = R.id.tabloeg;
    satirlarr[58] = R.id.tabloeh;
    satirlarr[59] = R.id.tabloei;
    satirlarr[510] = R.id.tabloej;

    satirlarr[61] = R.id.tablofa;
    satirlarr[62] = R.id.tablofb;
    satirlarr[63] = R.id.tablofc;
    satirlarr[64] = R.id.tablofd;
    satirlarr[65] = R.id.tablofe;
    satirlarr[66] = R.id.tabloff;
    satirlarr[67] = R.id.tablofg;
    satirlarr[68] = R.id.tablofh;
    satirlarr[69] = R.id.tablofi;
    satirlarr[610] = R.id.tablofj;

    satirlarr[71] = R.id.tabloga;
    satirlarr[72] = R.id.tablogb;
    satirlarr[73] = R.id.tablogc;
    satirlarr[74] = R.id.tablogd;
    satirlarr[75] = R.id.tabloge;
    satirlarr[76] = R.id.tablogf;
    satirlarr[77] = R.id.tablogg;
    satirlarr[78] = R.id.tablogh;
    satirlarr[79] = R.id.tablogi;
    satirlarr[710] = R.id.tablogj;

    satirlarr[81] = R.id.tabloha;
    satirlarr[82] = R.id.tablohb;
    satirlarr[83] = R.id.tablohc;
    satirlarr[84] = R.id.tablohd;
    satirlarr[85] = R.id.tablohe;
    satirlarr[86] = R.id.tablohf;
    satirlarr[87] = R.id.tablohg;
    satirlarr[88] = R.id.tablohh;
    satirlarr[89] = R.id.tablohi;
    satirlarr[810] = R.id.tablohj;

    satirlarr[91] = R.id.tabloia;
    satirlarr[92] = R.id.tabloib;
    satirlarr[93] = R.id.tabloic;
    satirlarr[94] = R.id.tabloid;
    satirlarr[95] = R.id.tabloie;
    satirlarr[96] = R.id.tabloif;
    satirlarr[97] = R.id.tabloig;
    satirlarr[98] = R.id.tabloih;
    satirlarr[99] = R.id.tabloii;
    satirlarr[910] = R.id.tabloij;

    satirlarr[101] = R.id.tabloja;
    satirlarr[102] = R.id.tablojb;
    satirlarr[103] = R.id.tablojc;
    satirlarr[104] = R.id.tablojd;
    satirlarr[105] = R.id.tabloje;
    satirlarr[106] = R.id.tablojf;
    satirlarr[107] = R.id.tablojg;
    satirlarr[108] = R.id.tablojh;
    satirlarr[109] = R.id.tabloji;
    satirlarr[1010] = R.id.tablojj;

    final ArrayList<Integer> satirlar = new ArrayList<Integer>();

    satirlar.addAll(Arrays.asList(satirlarr));

    Random yersec = new Random();
    List<Integer> secbiryerarray;
    int bulunanyerindex, bulunanyer, bulunanyerrindex, bulunanyerr;
    ArrayList<String> kelimedogrultu;
    char[] kelimekarakter;

    int isozcuk = -1;

    Log.w("Dikkat", "2");

    for(int i = 0; i < bulmacakelimeler.size(); i++){

    isozcuk++;

    secbiryerarray = new ArrayList<Integer>();

    bulunanyerindex = yersec.nextInt(10);
    bulunanyer = bulunanyerindex + 1;

    kelimedogrultu = new ArrayList<String>();
    kelimedogrultu.add("yukari");
    kelimedogrultu.add("asagi");
    kelimedogrultu.add("sag");
    kelimedogrultu.add("sol");

    if(bulunanyer < bulmacakelimeler.get(i).length()){

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    }

    Log.w("Dikkat", "3");

    if((10 - bulunanyer) + 1 < bulmacakelimeler.get(i).length()){

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    }

    Log.w("Dikkat", "4");

    secbiryerarray = Arrays.asList(bulmaca[bulunanyerindex]);

    bulunanyerrindex = yersec.nextInt(secbiryerarray.size());
    bulunanyerr = bulunanyerrindex + 1;

    if(bulunanyerr < bulmacakelimeler.get(i).length()){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    }

    if((10 - bulunanyerr) + 1 < bulmacakelimeler.get(i).length()){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    }

    Log.w("Dikkat", "5");

    if(kelimedogrultu.contains("yukari")){

    for(int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length()-1); ikkarakter++){

    if(!Arrays.asList(bulmaca[bulunanyerindex-ikkarakter][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    break;

    }

    if(Arrays.asList(bulmaca[bulunanyerindex-ikkarakter][bulunanyerrindex]).contains(999)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex-1][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex-2][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex-3][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    }*/

    }

    if(kelimedogrultu.contains("asagi")){

    for(int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length()-1); ikkarakter++){

    if(!Arrays.asList(bulmaca[bulunanyerindex+ikkarakter][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    break;

    }

    if(Arrays.asList(bulmaca[bulunanyerindex+ikkarakter][bulunanyerrindex]).contains(999)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex+1][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex+2][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex+3][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    }*/

    }

    if(kelimedogrultu.contains("sol")){

    for(int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length()-1); ikkarakter++){

    if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-ikkarakter]).contains(bulunanyerr-ikkarakter)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    break;

    }

    if(Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-ikkarakter]).contains(999)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-1]).contains(bulunanyerr-1) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-2]).contains(bulunanyerr-2) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-3]).contains(bulunanyerr-3)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    }*/

    }

    if(kelimedogrultu.contains("sag")){

    for(int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length()-1); ikkarakter++){

    if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+ikkarakter]).contains(bulunanyerr+ikkarakter)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    break;

    }

    if(Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+ikkarakter]).contains(999)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+1]).contains(bulunanyerr+1) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+2]).contains(bulunanyerr+2) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+3]).contains(bulunanyerr+3)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    }*/

    }

    Log.w("Dikkat", "7");

    if(kelimedogrultu.contains("yukari") || kelimedogrultu.contains("asagi") || kelimedogrultu.contains("sag") || kelimedogrultu.contains("sol")){

    sozcukler.get(isozcuk).setText(bulmacakelimeler.get(i));

    kelimekarakter = bulmacakelimeler.get(i).toCharArray();

    Collections.shuffle(kelimedogrultu);

    int hangilerisecildi;
    TextView bulmacakelime;

    if(kelimedogrultu.get(0).equals("yukari")){

    for(int ii = 0; ii < kelimekarakter.length; ii++){

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer - ii) + Integer.toString(bulunanyerr));
    bulmacakelime = (TextView)findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex - ii][bulunanyerrindex] = 999;

    }

    }else if(kelimedogrultu.get(0).equals("asagi")){

    for(int ii = 0; ii < kelimekarakter.length; ii++){

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer + ii) + Integer.toString(bulunanyerr));
    bulmacakelime = (TextView)findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex + ii][bulunanyerrindex] = 999;

    }

    }else if(kelimedogrultu.get(0).equals("sag")){

    for(int ii = 0; ii < kelimekarakter.length; ii++){

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer) + Integer.toString(bulunanyerr + ii));
    bulmacakelime = (TextView)findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex][bulunanyerrindex + ii] = 999;

    }

    }else if(kelimedogrultu.get(0).equals("sol")){

    for(int ii = 0; ii < kelimekarakter.length; ii++){

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer) + Integer.toString(bulunanyerr - ii));
    bulmacakelime = (TextView)findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex][bulunanyerrindex - ii] = 999;

    }

    }

    kelimedogrultu.clear();

    }else{

    isozcuk = isozcuk - 1;

    bulmacakelimeler.remove(i);

    }

    }

    ArrayList<String> gereksizharfler = new ArrayList<String>();
    gereksizharfler.add("A");
    gereksizharfler.add("B");
    gereksizharfler.add("C");
    gereksizharfler.add("Ç");
    gereksizharfler.add("D");
    gereksizharfler.add("E");
    gereksizharfler.add("F");
    gereksizharfler.add("G");
    gereksizharfler.add("Ğ");
    gereksizharfler.add("H");
    gereksizharfler.add("İ");
    gereksizharfler.add("I");
    gereksizharfler.add("J");
    gereksizharfler.add("K");
    gereksizharfler.add("L");
    gereksizharfler.add("M");
    gereksizharfler.add("N");
    gereksizharfler.add("O");
    gereksizharfler.add("Ö");
    gereksizharfler.add("P");
    gereksizharfler.add("R");
    gereksizharfler.add("S");
    gereksizharfler.add("Ş");
    gereksizharfler.add("T");
    gereksizharfler.add("U");
    gereksizharfler.add("Ü");
    gereksizharfler.add("V");
    gereksizharfler.add("Y");
    gereksizharfler.add("Z");

    TextView gereksizharfkelime;
    int gereksizharfindex, gereksizharf, gereksizharffindex, gereksizharff;

    for(int iii = 0; iii < 10; iii++){
    for(int iiii = 0; iiii < bulmaca[iii].length; iiii++){

    Log.w("Dikkat", iiii + "");
    if(!bulmaca[iii][iiii].equals(999)){

    gereksizharfindex = iii;
    gereksizharf = gereksizharfindex + 1;

    gereksizharffindex = iiii;
    gereksizharff = gereksizharffindex + 1;

    Collections.shuffle(gereksizharfler);
    bulmaca[gereksizharfindex][gereksizharffindex] = 999;
    gereksizharfkelime = (TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(gereksizharf) + Integer.toString(gereksizharff))));
    gereksizharfkelime.setText(gereksizharfler.get(0));

    }

    }

    }

    xbas = new ArrayList<Integer>();
    final ArrayList<Integer> xson = new ArrayList<Integer>();
    final ArrayList<Integer> ybas = new ArrayList<Integer>();
    final ArrayList<Integer> yson = new ArrayList<Integer>();

    //ArrayList<Float> korx = new ArrayList<Float>();
    //ArrayList<Float> kory = new ArrayList<Float>();

    //int[] korint = new int[2];

    //addContentView(new cizim(bulmacatablo.getContext()), bulmacatablo.getLayoutParams());

    ArrayList<Integer> tablorows = new ArrayList<Integer>();
    tablorows.add(R.id.tabloa);
    tablorows.add(R.id.tablob);
    tablorows.add(R.id.tabloc);
    tablorows.add(R.id.tablod);
    tablorows.add(R.id.tabloe);
    tablorows.add(R.id.tablof);
    tablorows.add(R.id.tablog);
    tablorows.add(R.id.tabloh);
    tablorows.add(R.id.tabloi);
    tablorows.add(R.id.tabloj);

    TableRow trow;

    trow = (TableRow)findViewById(R.id.tabloa);

    trow.addView(new cizim(this));
    trow.addView(new cizim(this));
    trow.addView(new cizim(this));
    trow.addView(new cizim(this));
    trow.addView(new cizim(this));

    bulmacatablo.invalidate();
    bulmacatablo.refreshDrawableState();

    /*for(int iczm = 0; iczm < 3; iczm++){

    //trow = (TableRow)findViewById(tablorows.get(iczm));

    trow = new TableRow(this);

    trow.addView(new cizim(this));
    trow.addView(new cizim(this));

    //bulmacatablo.removeView(trow);

    for(int iczmm = 0; iczmm < 10; iczmm++){

    trow.addView(new cizim(this));

    }

    bulmacatablo.addView(trow);

    //trow = null;

    bulmacatablo.invalidate();
    bulmacatablo.refreshDrawableState();

    }*/

    for(int ikor = 1; ikor < 11; ikor++){
    final int ikori = ikor;
    for(int ikorr = 1; ikorr < 11; ikorr++){
    final int ikorri = ikorr;

    Log.w("Dikkat", "ikorri : " + ikori + " ikorri : " + ikorri);

    ((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener() {
    public void onGlobalLayout(){

    xbas.add(((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getLeft());
    xson.add(((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getRight());
    ybas.add(((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getTop());
    yson.add(((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getBottom());

    Log.w("Dikkat", "x bas : " + xbas.get(xbas.size() - 1) + " x son : " + xson.get((xson.size() - 1)) + " y bas : " + ybas.get(ybas.size() - 1) + " y son : " + yson.get(yson.size() - 1));

    int[] intkor = new int[2];

    ((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getLocationOnScreen(intkor);

    Log.w("Dikkat", Integer.toString(intkor[0]) + " " + Integer.toString(intkor[1]));

    ((TextView)findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getViewTreeObserver().removeOnGlobalLayoutListener(this);

    }
    });

    }

    }

    /*final TextView korrtv;

    korrtv = (TextView)findViewById(R.id.tabloaa);

    korrtv.getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener () {
    public void onGlobalLayout(){

    Log.w("Dikkat", korrtv.getLeft() + " " + korrtv.getRight() + " " + korrtv.getTop() + " " + korrtv.getBottom());

    }
    });


    final TextView korrrtv = (TextView)findViewById(R.id.tabloab);

    korrtv.getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener () {
    public void onGlobalLayout(){

    Log.w("Dikkat", korrrtv.getLeft() + " " + korrrtv.getRight() + " " + korrrtv.getTop() + " " + korrrtv.getBottom());

    }
    });*/

    }

    public ArrayList<Integer> getxarray(){

    return xbas;

    }

    }


    Önemli olan yer aşağılarda.

    Çok karışık anlamadığın yer olursa sor.

    Yardımınıza ihtiyacım var.




  • Yapay Zeka’dan İlgili Konular
    Excel'de Sayaç Yapmak
    2 yıl önce açıldı
    photoshop da yuvarlak alan açma
    19 yıl önce açıldı
    Daha Fazla Göster
  • Hocam code tagı içine yapıştırsaydın keşke kodları. Çok karışık olmuş. Sabit veriler için ayrı bi class oluştur. Bazı kodları metoda çevirip kullan.
    Row'a çizim ekleyince düzen mi bozuluyor ? Row'a linear layout ekleyip, onun içine çizim yapabilirsin.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • kreat kullanıcısına yanıt
    Mobile versiyonunda gözükmüyor. Tarayıcıda aç mobile olarak yukarıda standart site var ona tıkla. Kodlar kutu içinde görülür.

    Android sadece TableLayout’da daire çizmek(canvas)

    Bir tane row gözüküyor. Çizim de yapılamıyor.

    Yardımınıza ihtiyacım var.

    < Bu ileti DH mobil uygulamasından atıldı >
  • pardon.Kodları ide'ye aktarıp bakıyorum hocam.

    Android sadece TableLayout’da daire çizmek(canvas)

    her açılışta farklı harfler geliyor.
    böyle bir görüntü alıyorum.image butona tıklayınca main activity i tekrar mı çağırıyorsun ?

    edit1: Kodları düzenledim. Çalışıyor. İmageButton'a her tıkladığında Main Activity'yi yeniden açıp yeni harfler türetiyor. Buraya kadar tamam. Sonrasında ne yapmak istiyorsun ?



    < Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 12:39:5 >




  • kreat kullanıcısına yanıt
    Aynen. Normalde bir bulmaca 10 satır her 10 satırda 10 Textview ve altıda bulunması gereken kelimeler. Çizim de yapamıyorum. Gönderdiğin linkteki gibi new tablerow(this); yaptım. Öyle çizim yapılıyor. Ama textviewkerim olmuyor. Ben önceden hazırladığım tablerow kullanabilir miyim?

    Yardımınıza ihtiyacım var.

    < Bu ileti DH mobil uygulamasından atıldı >
  • Android sadece TableLayout’da daire çizmek(canvas)

    böyle mi olması gerekiyor.bundan sonra ?
    Edit:Çizim kısmında tam olarak ne yapıyorsun ? İstediğin harflerin etrafını daire içine mi alıyorsun ?



    < Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 12:54:41 >
  • kreat kullanıcısına yanıt
    Evet böyle olması gerekiyor. Harflerin üstünü çizmek istiyorum daire olur, dikdörtgen-çizgi olur.

    Yardımınıza ihtiyacım var.

    < Bu ileti DH mobil uygulamasından atıldı >

  • Gabriele Mariottiyoutube
    Android: Drawing shapes with fingers
    https://www.youtube.com/watch?v=zKUP7nEUh4o


    Burdaki örneği senin oyuna uyarladım.
    Senin kodları biraz düzenledim.

    Yeni bulmaca için sürekli yeni activity açmana gerek yok.ImageButton'a reset metodu ekledim. Senin kodları da reset metoduna ekledim.



    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    import android.view.ViewTreeObserver;
    import android.widget.ImageButton;
    import android.widget.TableLayout;
    import android.widget.TextView;

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.List;
    import java.util.Random;


    public class MainActivity extends AppCompatActivity {

    TableLayout bulmacatablo;
    TextView sozcuka, sozcukb, sozcukc, sozcukd, sozcuke, sozcukf, sozcukg, sozcukh, sozcuki, sozcukj, kortv;
    ImageButton anasayfabtn;
    ArrayList<Integer> xbas;

    protected DrawingView mDrawingView;

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


    initViews();
    reset();

    mDrawingView = (DrawingView) findViewById(R.id.drawingView);
    mDrawingView.mCurrentShape = DrawingView.RECTANGLE;
    mDrawingView.reset();


    anasayfabtn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View anasayfav) {

    reset();
    //mDrawingView.reset();

    }
    });


    }

    private void initViews() {
    bulmacatablo = (TableLayout) findViewById(R.id.tablo);

    sozcuka = (TextView) findViewById(R.id.sozcukta);
    sozcukb = (TextView) findViewById(R.id.sozcuktb);
    sozcukc = (TextView) findViewById(R.id.sozcuktc);
    sozcukd = (TextView) findViewById(R.id.sozcuktd);
    sozcuke = (TextView) findViewById(R.id.sozcukte);
    sozcukf = (TextView) findViewById(R.id.sozcuktf);
    sozcukg = (TextView) findViewById(R.id.sozcuktg);
    sozcukh = (TextView) findViewById(R.id.sozcukth);
    sozcuki = (TextView) findViewById(R.id.sozcukti);
    sozcukj = (TextView) findViewById(R.id.sozcuktj);

    anasayfabtn = (ImageButton) findViewById(R.id.anasayfab);
    }

    private void reset() {
    ArrayList<TextView> sozcukler = new ArrayList<TextView>();

    sozcukler.add(sozcuka);
    sozcukler.add(sozcukb);
    sozcukler.add(sozcukc);
    sozcukler.add(sozcukd);
    sozcukler.add(sozcuke);
    sozcukler.add(sozcukf);
    sozcukler.add(sozcukg);
    sozcukler.add(sozcukh);
    sozcukler.add(sozcuki);
    sozcukler.add(sozcukj);

    final ArrayList<String> bulmacakelimeler = new ArrayList<String>();
    ArrayList<String> bulmacakelimelerr = new ArrayList<String>();


    bulmacakelime(bulmacakelimelerr);

    for (int ikelime = 0; ikelime < bulmacakelimelerr.size(); ikelime++) {
    bulmacakelimelerr.set(ikelime, bulmacakelimelerr.get(ikelime).toUpperCase());
    }

    for (int iiiii = 0; iiiii < 10; iiiii++) {

    Collections.shuffle(bulmacakelimelerr);
    bulmacakelimeler.add(bulmacakelimelerr.get(0));
    bulmacakelimelerr.remove(0);

    }

    Integer[][] bulmaca = {
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    };

    Integer[] satirlarr = new Integer[1011];

    satirdizi(satirlarr);

    final ArrayList<Integer> satirlar = new ArrayList<Integer>();

    satirlar.addAll(Arrays.asList(satirlarr));

    Random yersec = new Random();
    List<Integer> secbiryerarray;
    int bulunanyerindex, bulunanyer, bulunanyerrindex, bulunanyerr;
    ArrayList<String> kelimedogrultu;
    char[] kelimekarakter;

    int isozcuk = -1;

    Log.w("Dikkat", "2");

    for (int i = 0; i < bulmacakelimeler.size(); i++) {

    isozcuk++;

    secbiryerarray = new ArrayList<Integer>();

    bulunanyerindex = yersec.nextInt(10);
    bulunanyer = bulunanyerindex + 1;

    kelimedogrultu = new ArrayList<String>();
    kelimedogrultu.add("yukari");
    kelimedogrultu.add("asagi");
    kelimedogrultu.add("sag");
    kelimedogrultu.add("sol");

    if (bulunanyer < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    }

    Log.w("Dikkat", "3");

    if ((10 - bulunanyer) + 1 < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    }

    Log.w("Dikkat", "4");

    secbiryerarray = Arrays.asList(bulmaca[bulunanyerindex]);

    bulunanyerrindex = yersec.nextInt(secbiryerarray.size());
    bulunanyerr = bulunanyerrindex + 1;

    if (bulunanyerr < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    }

    if ((10 - bulunanyerr) + 1 < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    }

    Log.w("Dikkat", "5");

    if (kelimedogrultu.contains("yukari")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex - ikkarakter][bulunanyerrindex]).contains(bulunanyerr)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex - ikkarakter][bulunanyerrindex]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex-1][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex-2][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex-3][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    }*/

    }

    if (kelimedogrultu.contains("asagi")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex + ikkarakter][bulunanyerrindex]).contains(bulunanyerr)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex + ikkarakter][bulunanyerrindex]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex+1][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex+2][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex+3][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    }*/

    }

    if (kelimedogrultu.contains("sol")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex - ikkarakter]).contains(bulunanyerr - ikkarakter)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex - ikkarakter]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-1]).contains(bulunanyerr-1) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-2]).contains(bulunanyerr-2) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-3]).contains(bulunanyerr-3)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    }*/

    }

    if (kelimedogrultu.contains("sag")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex + ikkarakter]).contains(bulunanyerr + ikkarakter)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex + ikkarakter]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+1]).contains(bulunanyerr+1) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+2]).contains(bulunanyerr+2) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+3]).contains(bulunanyerr+3)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    }*/

    }

    Log.w("Dikkat", "7");

    if (kelimedogrultu.contains("yukari") || kelimedogrultu.contains("asagi") || kelimedogrultu.contains("sag") || kelimedogrultu.contains("sol")) {

    sozcukler.get(isozcuk).setText(bulmacakelimeler.get(i));

    kelimekarakter = bulmacakelimeler.get(i).toCharArray();

    Collections.shuffle(kelimedogrultu);

    int hangilerisecildi;
    TextView bulmacakelime;

    if (kelimedogrultu.get(0).equals("yukari")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer - ii) + Integer.toString(bulunanyerr));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex - ii][bulunanyerrindex] = 999;

    }

    } else if (kelimedogrultu.get(0).equals("asagi")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer + ii) + Integer.toString(bulunanyerr));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex + ii][bulunanyerrindex] = 999;

    }

    } else if (kelimedogrultu.get(0).equals("sag")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer) + Integer.toString(bulunanyerr + ii));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex][bulunanyerrindex + ii] = 999;

    }

    } else if (kelimedogrultu.get(0).equals("sol")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer) + Integer.toString(bulunanyerr - ii));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex][bulunanyerrindex - ii] = 999;

    }

    }

    kelimedogrultu.clear();

    } else {

    isozcuk = isozcuk - 1;

    bulmacakelimeler.remove(i);

    }

    }

    ArrayList<String> gereksizharfler = new ArrayList<String>();
    gereksizharf(gereksizharfler);

    TextView gereksizharfkelime;
    int gereksizharfindex, gereksizharf, gereksizharffindex, gereksizharff;

    for (int iii = 0; iii < 10; iii++) {
    for (int iiii = 0; iiii < bulmaca[iii].length; iiii++) {

    Log.w("Dikkat", iiii + "");
    if (!bulmaca[iii][iiii].equals(999)) {

    gereksizharfindex = iii;
    gereksizharf = gereksizharfindex + 1;

    gereksizharffindex = iiii;
    gereksizharff = gereksizharffindex + 1;

    Collections.shuffle(gereksizharfler);
    bulmaca[gereksizharfindex][gereksizharffindex] = 999;
    gereksizharfkelime = (TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(gereksizharf) + Integer.toString(gereksizharff))));
    gereksizharfkelime.setText(gereksizharfler.get(0));

    }

    }

    }

    xbas = new ArrayList<Integer>();
    final ArrayList<Integer> xson = new ArrayList<Integer>();
    final ArrayList<Integer> ybas = new ArrayList<Integer>();
    final ArrayList<Integer> yson = new ArrayList<Integer>();

    //ArrayList<Float> korx = new ArrayList<Float>();
    //ArrayList<Float> kory = new ArrayList<Float>();

    //int[] korint = new int[2];

    //addContentView(new cizim(bulmacatablo.getContext()), bulmacatablo.getLayoutParams());

    ArrayList<Integer> tablorows = new ArrayList<Integer>();
    tablorows.add(R.id.tabloa);
    tablorows.add(R.id.tablob);
    tablorows.add(R.id.tabloc);
    tablorows.add(R.id.tablod);
    tablorows.add(R.id.tabloe);
    tablorows.add(R.id.tablof);
    tablorows.add(R.id.tablog);
    tablorows.add(R.id.tabloh);
    tablorows.add(R.id.tabloi);
    tablorows.add(R.id.tabloj);

    // TableRow trow= new TableRow(this);
    // trow = (TableRow)findViewById(R.id.tabloa);

    // trow.addView(new cizim(this));
    // trow.addView(new cizim(this));
    // trow.addView(new cizim(this));
    // trow.addView(new cizim(this));

    bulmacatablo.invalidate();
    bulmacatablo.refreshDrawableState();

    /*
    for(int iczm = 0; iczm < 3; iczm++){

    //trow = (TableRow)findViewById(tablorows.get(iczm));

    trow = new TableRow(this);

    trow.addView(new cizim(this));
    trow.addView(new cizim(this));

    //bulmacatablo.removeView(trow);

    for(int iczmm = 0; iczmm < 10; iczmm++){

    trow.addView(new cizim(this));

    }

    bulmacatablo.addView(trow);

    //trow = null;

    bulmacatablo.invalidate();
    bulmacatablo.refreshDrawableState();

    }

    */

    loop(satirlar, xson, ybas, yson);

    /*final TextView korrtv;

    korrtv = (TextView)findViewById(R.id.tabloaa);

    korrtv.getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener () {
    public void onGlobalLayout(){

    Log.w("Dikkat", korrtv.getLeft() + " " + korrtv.getRight() + " " + korrtv.getTop() + " " + korrtv.getBottom());

    }
    });


    final TextView korrrtv = (TextView)findViewById(R.id.tabloab);

    korrtv.getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener () {
    public void onGlobalLayout(){

    Log.w("Dikkat", korrrtv.getLeft() + " " + korrrtv.getRight() + " " + korrrtv.getTop() + " " + korrrtv.getBottom());

    }
    });*/
    }

    private void satirdizi(Integer[] satirlarr) {
    satirlarr[11] = R.id.tabloaa;
    satirlarr[12] = R.id.tabloab;
    satirlarr[13] = R.id.tabloac;
    satirlarr[14] = R.id.tabload;
    satirlarr[15] = R.id.tabloae;
    satirlarr[16] = R.id.tabloaf;
    satirlarr[17] = R.id.tabloag;
    ;
    satirlarr[18] = R.id.tabloah;
    satirlarr[19] = R.id.tabloai;
    satirlarr[110] = R.id.tabloaj;

    satirlarr[21] = R.id.tabloba;
    satirlarr[22] = R.id.tablobb;
    satirlarr[23] = R.id.tablobc;
    satirlarr[24] = R.id.tablobd;
    satirlarr[25] = R.id.tablobe;
    satirlarr[26] = R.id.tablobf;
    satirlarr[27] = R.id.tablobg;
    satirlarr[28] = R.id.tablobh;
    satirlarr[29] = R.id.tablobi;
    satirlarr[210] = R.id.tablobj;

    satirlarr[31] = R.id.tabloca;
    satirlarr[32] = R.id.tablocb;
    satirlarr[33] = R.id.tablocc;
    satirlarr[34] = R.id.tablocd;
    satirlarr[35] = R.id.tabloce;
    satirlarr[36] = R.id.tablocf;
    satirlarr[37] = R.id.tablocg;
    satirlarr[38] = R.id.tabloch;
    satirlarr[39] = R.id.tabloci;
    satirlarr[310] = R.id.tablocj;

    satirlarr[41] = R.id.tabloda;
    satirlarr[42] = R.id.tablodb;
    satirlarr[43] = R.id.tablodc;
    satirlarr[44] = R.id.tablodd;
    satirlarr[45] = R.id.tablode;
    satirlarr[46] = R.id.tablodf;
    satirlarr[47] = R.id.tablodg;
    satirlarr[48] = R.id.tablodh;
    satirlarr[49] = R.id.tablodi;
    satirlarr[410] = R.id.tablodj;

    satirlarr[51] = R.id.tabloea;
    satirlarr[52] = R.id.tabloeb;
    satirlarr[53] = R.id.tabloec;
    satirlarr[54] = R.id.tabloed;
    satirlarr[55] = R.id.tabloee;
    satirlarr[56] = R.id.tabloef;
    satirlarr[57] = R.id.tabloeg;
    satirlarr[58] = R.id.tabloeh;
    satirlarr[59] = R.id.tabloei;
    satirlarr[510] = R.id.tabloej;

    satirlarr[61] = R.id.tablofa;
    satirlarr[62] = R.id.tablofb;
    satirlarr[63] = R.id.tablofc;
    satirlarr[64] = R.id.tablofd;
    satirlarr[65] = R.id.tablofe;
    satirlarr[66] = R.id.tabloff;
    satirlarr[67] = R.id.tablofg;
    satirlarr[68] = R.id.tablofh;
    satirlarr[69] = R.id.tablofi;
    satirlarr[610] = R.id.tablofj;

    satirlarr[71] = R.id.tabloga;
    satirlarr[72] = R.id.tablogb;
    satirlarr[73] = R.id.tablogc;
    satirlarr[74] = R.id.tablogd;
    satirlarr[75] = R.id.tabloge;
    satirlarr[76] = R.id.tablogf;
    satirlarr[77] = R.id.tablogg;
    satirlarr[78] = R.id.tablogh;
    satirlarr[79] = R.id.tablogi;
    satirlarr[710] = R.id.tablogj;

    satirlarr[81] = R.id.tabloha;
    satirlarr[82] = R.id.tablohb;
    satirlarr[83] = R.id.tablohc;
    satirlarr[84] = R.id.tablohd;
    satirlarr[85] = R.id.tablohe;
    satirlarr[86] = R.id.tablohf;
    satirlarr[87] = R.id.tablohg;
    satirlarr[88] = R.id.tablohh;
    satirlarr[89] = R.id.tablohi;
    satirlarr[810] = R.id.tablohj;

    satirlarr[91] = R.id.tabloia;
    satirlarr[92] = R.id.tabloib;
    satirlarr[93] = R.id.tabloic;
    satirlarr[94] = R.id.tabloid;
    satirlarr[95] = R.id.tabloie;
    satirlarr[96] = R.id.tabloif;
    satirlarr[97] = R.id.tabloig;
    satirlarr[98] = R.id.tabloih;
    satirlarr[99] = R.id.tabloii;
    satirlarr[910] = R.id.tabloij;

    satirlarr[101] = R.id.tabloja;
    satirlarr[102] = R.id.tablojb;
    satirlarr[103] = R.id.tablojc;
    satirlarr[104] = R.id.tablojd;
    satirlarr[105] = R.id.tabloje;
    satirlarr[106] = R.id.tablojf;
    satirlarr[107] = R.id.tablojg;
    satirlarr[108] = R.id.tablojh;
    satirlarr[109] = R.id.tabloji;
    satirlarr[1010] = R.id.tablojj;
    }

    private void bulmacakelime(ArrayList<String> bulmacakelimelerr) {
    bulmacakelimelerr.add("araba");
    bulmacakelimelerr.add("öğretmen");
    bulmacakelimelerr.add("polis");
    bulmacakelimelerr.add("mühendis");
    bulmacakelimelerr.add("doktor");
    bulmacakelimelerr.add("futbol");
    bulmacakelimelerr.add("voleybol");
    bulmacakelimelerr.add("basketbol");
    bulmacakelimelerr.add("golf");
    bulmacakelimelerr.add("tenis");
    bulmacakelimelerr.add("raf");
    bulmacakelimelerr.add("dolap");
    bulmacakelimelerr.add("televizyon");
    bulmacakelimelerr.add("mum");
    bulmacakelimelerr.add("ayna");
    bulmacakelimelerr.add("lamba");
    bulmacakelimelerr.add("telefon");
    bulmacakelimelerr.add("bilgisayar");
    bulmacakelimelerr.add("anahtar");
    bulmacakelimelerr.add("disk");
    bulmacakelimelerr.add("bellek");
    bulmacakelimelerr.add("kart");
    bulmacakelimelerr.add("eşofman");
    bulmacakelimelerr.add("şapka");
    bulmacakelimelerr.add("saat");
    bulmacakelimelerr.add("bilezik");
    bulmacakelimelerr.add("kolye");
    bulmacakelimelerr.add("yüzük");
    bulmacakelimelerr.add("gözlük");
    bulmacakelimelerr.add("kablo");
    bulmacakelimelerr.add("sepet");
    bulmacakelimelerr.add("kulaklık");
    bulmacakelimelerr.add("kağıt");
    bulmacakelimelerr.add("kalem");
    bulmacakelimelerr.add("kalemlik");
    bulmacakelimelerr.add("dosya");
    bulmacakelimelerr.add("defter");
    bulmacakelimelerr.add("kitap");
    bulmacakelimelerr.add("silgi");
    bulmacakelimelerr.add("masa");
    bulmacakelimelerr.add("sandalye");
    bulmacakelimelerr.add("yastık");
    bulmacakelimelerr.add("kılık");
    bulmacakelimelerr.add("kanepe");
    bulmacakelimelerr.add("madalyon");
    bulmacakelimelerr.add("peçete");
    bulmacakelimelerr.add("günlük");
    bulmacakelimelerr.add("meslek");
    bulmacakelimelerr.add("dişçi");
    bulmacakelimelerr.add("fırıncı");
    bulmacakelimelerr.add("market");
    bulmacakelimelerr.add("oyuncak");
    bulmacakelimelerr.add("fil");
    bulmacakelimelerr.add("maymun");
    bulmacakelimelerr.add("zürafa");
    bulmacakelimelerr.add("fare");
    bulmacakelimelerr.add("goril");
    bulmacakelimelerr.add("klavye");
    bulmacakelimelerr.add("tuş");
    bulmacakelimelerr.add("hoparlör");
    bulmacakelimelerr.add("aslan");
    bulmacakelimelerr.add("kaplan");
    bulmacakelimelerr.add("kedi");
    bulmacakelimelerr.add("köpek");
    bulmacakelimelerr.add("yılan");
    bulmacakelimelerr.add("güneş");
    bulmacakelimelerr.add("krem");
    bulmacakelimelerr.add("merhem");
    bulmacakelimelerr.add("ilaç");
    bulmacakelimelerr.add("deniz");
    bulmacakelimelerr.add("kum");
    bulmacakelimelerr.add("okyanus");
    bulmacakelimelerr.add("göl");
    bulmacakelimelerr.add("kanal");
    bulmacakelimelerr.add("park");
    bulmacakelimelerr.add("ağaç");
    bulmacakelimelerr.add("orman");
    bulmacakelimelerr.add("türkü");
    bulmacakelimelerr.add("şarkı");
    bulmacakelimelerr.add("davul");
    bulmacakelimelerr.add("cetvel");
    bulmacakelimelerr.add("çizgi");
    bulmacakelimelerr.add("bant");
    bulmacakelimelerr.add("sunum");
    bulmacakelimelerr.add("slayt");
    bulmacakelimelerr.add("çerçeve");
    bulmacakelimelerr.add("zımba");
    bulmacakelimelerr.add("ataç");
    bulmacakelimelerr.add("ofis");
    bulmacakelimelerr.add("melodika");
    bulmacakelimelerr.add("klarnet");
    bulmacakelimelerr.add("slime");
    bulmacakelimelerr.add("tasarım");
    bulmacakelimelerr.add("boya");
    bulmacakelimelerr.add("fırça");
    bulmacakelimelerr.add("tablo");
    bulmacakelimelerr.add("koli");
    bulmacakelimelerr.add("karton");
    bulmacakelimelerr.add("gitar");
    bulmacakelimelerr.add("saz");
    bulmacakelimelerr.add("ukulele");
    bulmacakelimelerr.add("bağlama");
    bulmacakelimelerr.add("kalemtıraş");
    bulmacakelimelerr.add("üçgen");
    bulmacakelimelerr.add("kare");
    bulmacakelimelerr.add("beşgen");
    bulmacakelimelerr.add("altıgen");
    bulmacakelimelerr.add("yamuk");
    bulmacakelimelerr.add("çokgen");
    bulmacakelimelerr.add("dörtgen");
    bulmacakelimelerr.add("yıldız");
    bulmacakelimelerr.add("daire");
    bulmacakelimelerr.add("yunus");
    bulmacakelimelerr.add("balina");
    bulmacakelimelerr.add("balık");
    bulmacakelimelerr.add("yengeç");
    bulmacakelimelerr.add("ahtapot");
    bulmacakelimelerr.add("karides");
    bulmacakelimelerr.add("kurbağa");
    bulmacakelimelerr.add("timsah");
    bulmacakelimelerr.add("kaz");
    bulmacakelimelerr.add("ördek");
    bulmacakelimelerr.add("bisiklet");
    bulmacakelimelerr.add("fayton");
    bulmacakelimelerr.add("kamyon");
    bulmacakelimelerr.add("metrobüs");
    bulmacakelimelerr.add("makas");
    bulmacakelimelerr.add("gül");
    bulmacakelimelerr.add("lale");
    bulmacakelimelerr.add("karanfil");
    bulmacakelimelerr.add("zambak");
    bulmacakelimelerr.add("nergis");
    bulmacakelimelerr.add("sümbül");
    bulmacakelimelerr.add("nilüfer");
    bulmacakelimelerr.add("menekşe");
    bulmacakelimelerr.add("leylek");
    bulmacakelimelerr.add("papatya");
    bulmacakelimelerr.add("vida");
    bulmacakelimelerr.add("çekiç");
    bulmacakelimelerr.add("pense");
    bulmacakelimelerr.add("tornavida");
    bulmacakelimelerr.add("keman");
    bulmacakelimelerr.add("org");
    bulmacakelimelerr.add("flüt");
    bulmacakelimelerr.add("marakas");
    bulmacakelimelerr.add("takvim");
    bulmacakelimelerr.add("cam");
    bulmacakelimelerr.add("gazete");
    bulmacakelimelerr.add("havaalanı");
    bulmacakelimelerr.add("otel");
    bulmacakelimelerr.add("hastane");
    bulmacakelimelerr.add("postane");
    bulmacakelimelerr.add("müze");
    bulmacakelimelerr.add("sinema");
    bulmacakelimelerr.add("yaz");
    bulmacakelimelerr.add("kış");
    bulmacakelimelerr.add("ilkbahar");
    bulmacakelimelerr.add("sonbahar");
    bulmacakelimelerr.add("hafta");
    bulmacakelimelerr.add("gün");
    }

    private void gereksizharf(ArrayList<String> gereksizharfler) {
    gereksizharfler.add("A");
    gereksizharfler.add("B");
    gereksizharfler.add("C");
    gereksizharfler.add("Ç");
    gereksizharfler.add("D");
    gereksizharfler.add("E");
    gereksizharfler.add("F");
    gereksizharfler.add("G");
    gereksizharfler.add("Ğ");
    gereksizharfler.add("H");
    gereksizharfler.add("İ");
    gereksizharfler.add("I");
    gereksizharfler.add("J");
    gereksizharfler.add("K");
    gereksizharfler.add("L");
    gereksizharfler.add("M");
    gereksizharfler.add("N");
    gereksizharfler.add("O");
    gereksizharfler.add("Ö");
    gereksizharfler.add("P");
    gereksizharfler.add("R");
    gereksizharfler.add("S");
    gereksizharfler.add("Ş");
    gereksizharfler.add("T");
    gereksizharfler.add("U");
    gereksizharfler.add("Ü");
    gereksizharfler.add("V");
    gereksizharfler.add("Y");
    gereksizharfler.add("Z");
    }

    private void loop(final ArrayList<Integer> satirlar, final ArrayList<Integer> xson, final ArrayList<Integer> ybas, final ArrayList<Integer> yson) {
    for (int ikor = 1; ikor < 11; ikor++) {
    final int ikori = ikor;
    for (int ikorr = 1; ikorr < 11; ikorr++) {
    final int ikorri = ikorr;

    Log.e("Dikkat", "ikorri : " + ikori + " ikorri : " + ikorri);

    ((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    public void onGlobalLayout() {

    xbas.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getLeft());
    xson.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getRight());
    ybas.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getTop());
    yson.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getBottom());

    Log.w("Dikkat", "x bas : " + xbas.get(xbas.size() - 1) + " x son : " + xson.get((xson.size() - 1)) + " y bas : " + ybas.get(ybas.size() - 1) + " y son : " + yson.get(yson.size() - 1));

    int[] intkor = new int[2];

    ((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getLocationOnScreen(intkor);

    Log.w("Dikkat", Integer.toString(intkor[0]) + " " + Integer.toString(intkor[1]));

    ((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getViewTreeObserver().removeOnGlobalLayoutListener(this);

    }
    });

    }

    }
    }

    public ArrayList<Integer> getxarray() {

    return xbas;

    }

    }



    Layout dosyasına ise cizim sınıfı yerine yukarıdaki linkteki View'i ekledim.



    <com.minik.myapplication.DrawingView
    android:id="@+id/drawingView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />



    View sınıfı


    /*
    * Copyright 2014 Gabriele Mariotti
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    * http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */


    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.util.AttributeSet;
    import android.view.MotionEvent;
    import android.view.View;

    /**
    * @author Gabriele Mariotti (gabri.mariotti@gmail.com)
    */
    public class DrawingView extends View {

    public static final int LINE = 1;
    public static final int RECTANGLE = 3;
    public static final int SQUARE = 4;
    public static final int CIRCLE = 5;
    public static final int TRIANGLE = 6;
    public static final int SMOOTHLINE = 2;

    public static final float TOUCH_TOLERANCE = 4;
    public static final float TOUCH_STROKE_WIDTH = 5;

    public int mCurrentShape;

    protected Path mPath;
    protected Paint mPaint;
    protected Paint mPaintFinal;
    protected Bitmap mBitmap;
    protected Canvas mCanvas;

    /**
    * Indicates if you are drawing
    */
    protected boolean isDrawing = false;

    /**
    * Indicates if the drawing is ended
    */
    protected boolean isDrawingEnded = false;


    protected float mStartX;
    protected float mStartY;

    protected float mx;
    protected float my;

    public DrawingView(Context context) {
    super(context);
    init();
    }

    public DrawingView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
    }

    public DrawingView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init();
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
    }

    @Override
    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(mBitmap, 0, 0, mPaint);

    if (isDrawing){
    switch (mCurrentShape) {
    case LINE:
    onDrawLine(canvas);
    break;
    case RECTANGLE:
    onDrawRectangle(canvas);
    break;
    case SQUARE:
    onDrawSquare(canvas);
    break;
    case CIRCLE:
    onDrawCircle(canvas);
    break;
    case TRIANGLE:
    onDrawTriangle(canvas);
    break;
    }
    }
    }




    protected void init() {
    mPath = new Path();

    mPaint = new Paint(Paint.DITHER_FLAG);
    mPaint.setAntiAlias(true);
    mPaint.setDither(true);
    mPaint.setColor(getContext().getResources().getColor(android.R.color.holo_blue_dark));
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);
    mPaint.setStrokeCap(Paint.Cap.ROUND);
    mPaint.setStrokeWidth(TOUCH_STROKE_WIDTH);


    mPaintFinal = new Paint(Paint.DITHER_FLAG);
    mPaintFinal.setAntiAlias(true);
    mPaintFinal.setDither(true);
    mPaintFinal.setColor(getContext().getResources().getColor(android.R.color.holo_orange_dark));
    mPaintFinal.setStyle(Paint.Style.STROKE);
    mPaintFinal.setStrokeJoin(Paint.Join.ROUND);
    mPaintFinal.setStrokeCap(Paint.Cap.ROUND);
    mPaintFinal.setStrokeWidth(TOUCH_STROKE_WIDTH);
    }

    protected void reset() {
    mPath = new Path();
    countTouch=0;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    mx = event.getX();
    my = event.getY();
    switch (mCurrentShape) {
    case LINE:
    onTouchEventLine(event);
    break;
    case SMOOTHLINE:
    onTouchEventSmoothLine(event);
    break;
    case RECTANGLE:
    onTouchEventRectangle(event);
    break;
    case SQUARE:
    onTouchEventSquare(event);
    break;
    case CIRCLE:
    onTouchEventCircle(event);
    break;
    case TRIANGLE:
    onTouchEventTriangle(event);
    break;
    }
    return true;
    }



    //------------------------------------------------------------------
    // Line
    //------------------------------------------------------------------

    private void onDrawLine(Canvas canvas) {

    float dx = Math.abs(mx - mStartX);
    float dy = Math.abs(my - mStartY);
    if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
    canvas.drawLine(mStartX, mStartY, mx, my, mPaint);
    }
    }

    private void onTouchEventLine(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    mCanvas.drawLine(mStartX, mStartY, mx, my, mPaintFinal);
    invalidate();
    break;
    }
    }

    //------------------------------------------------------------------
    // Smooth Line
    //------------------------------------------------------------------


    private void onTouchEventSmoothLine(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;

    mPath.reset();
    mPath.moveTo(mx, my);

    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:

    float dx = Math.abs(mx - mStartX);
    float dy = Math.abs(my - mStartY);
    if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
    mPath.quadTo(mStartX, mStartY, (mx + mStartX) / 2, (my + mStartY) / 2);
    mStartX = mx;
    mStartY = my;
    }
    mCanvas.drawPath(mPath, mPaint);
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    mPath.lineTo(mStartX, mStartY);
    mCanvas.drawPath(mPath, mPaintFinal);
    mPath.reset();
    invalidate();
    break;
    }
    }

    //------------------------------------------------------------------
    // Triangle
    //------------------------------------------------------------------

    int countTouch =0;
    float basexTriangle =0;
    float baseyTriangle =0;

    private void onDrawTriangle(Canvas canvas){

    if (countTouch<3){
    canvas.drawLine(mStartX,mStartY,mx,my,mPaint);
    }else if (countTouch==3){
    canvas.drawLine(mx,my,mStartX,mStartY,mPaint);
    canvas.drawLine(mx,my,basexTriangle,baseyTriangle,mPaint);
    }
    }

    private void onTouchEventTriangle(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    countTouch++;
    if (countTouch==1){
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    } else if (countTouch==3){
    isDrawing = true;
    }
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    countTouch++;
    isDrawing = false;
    if (countTouch<3){
    basexTriangle=mx;
    baseyTriangle=my;
    mCanvas.drawLine(mStartX,mStartY,mx,my,mPaintFinal);
    } else if (countTouch>=3){
    mCanvas.drawLine(mx,my,mStartX,mStartY,mPaintFinal);
    mCanvas.drawLine(mx,my,basexTriangle,baseyTriangle,mPaintFinal);
    countTouch =0;
    }
    invalidate();
    break;
    }
    }

    //------------------------------------------------------------------
    // Circle
    //------------------------------------------------------------------

    private void onDrawCircle(Canvas canvas){
    canvas.drawCircle(mStartX, mStartY, calculateRadius(mStartX, mStartY, mx, my), mPaint);
    }

    private void onTouchEventCircle(MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    mCanvas.drawCircle(mStartX, mStartY, calculateRadius(mStartX,mStartY,mx,my), mPaintFinal);
    invalidate();
    break;
    }
    }

    /**
    *
    * @return
    */
    protected float calculateRadius(float x1, float y1, float x2, float y2) {

    return (float) Math.sqrt(
    Math.pow(x1 - x2, 2) +
    Math.pow(y1 - y2, 2)
    );
    }

    //------------------------------------------------------------------
    // Rectangle
    //------------------------------------------------------------------

    private void onDrawRectangle(Canvas canvas) {
    drawRectangle(canvas,mPaint);
    }

    private void onTouchEventRectangle(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    drawRectangle(mCanvas,mPaintFinal);
    invalidate();
    break;
    }
    ;
    }

    private void drawRectangle(Canvas canvas,Paint paint){
    float right = mStartX > mx ? mStartX : mx;
    float left = mStartX > mx ? mx : mStartX;
    float bottom = mStartY > my ? mStartY : my;
    float top = mStartY > my ? my : mStartY;
    canvas.drawRect(left, top , right, bottom, paint);
    }

    //------------------------------------------------------------------
    // Square
    //------------------------------------------------------------------

    private void onDrawSquare(Canvas canvas) {
    onDrawRectangle(canvas);
    }

    private void onTouchEventSquare(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    adjustSquare(mx, my);
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    adjustSquare(mx, my);
    drawRectangle(mCanvas,mPaintFinal);
    invalidate();
    break;
    }
    }

    /**
    * Adjusts current coordinates to build a square
    * @param x
    * @param y
    */
    protected void adjustSquare(float x, float y) {
    float deltaX = Math.abs(mStartX - x);
    float deltaY = Math.abs(mStartY - y);

    float max = Math.max(deltaX, deltaY);

    mx = mStartX - x < 0 ? mStartX + max : mStartX - max;
    my = mStartY - y < 0 ? mStartY + max : mStartY - max;
    }


    }






    Android sadece TableLayout’da daire çizmek(canvas)



    < Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 19:30:57 >




  • quote:

    Orijinalden alıntı: kreat

    https://github.com/gabrielemariotti/androiddev/tree/master/ShapeFinger
    https://www.youtube.com/watch?v=zKUP7nEUh4o

    Burdaki örneği senin oyuna uyarladım.
    Senin kodları biraz düzenledim.

    Yeni bulmaca için sürekli yeni activity açmana gerek yok.ImageButton'a reset metodu ekledim. Senin kodları da reset metoduna ekledim.



    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    import android.view.ViewTreeObserver;
    import android.widget.ImageButton;
    import android.widget.TableLayout;
    import android.widget.TextView;

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.List;
    import java.util.Random;


    public class MainActivity extends AppCompatActivity {

    TableLayout bulmacatablo;
    TextView sozcuka, sozcukb, sozcukc, sozcukd, sozcuke, sozcukf, sozcukg, sozcukh, sozcuki, sozcukj, kortv;
    ImageButton anasayfabtn;
    ArrayList<Integer> xbas;

    protected DrawingView mDrawingView;

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


    initViews();
    reset();

    mDrawingView = (DrawingView) findViewById(R.id.drawingView);
    mDrawingView.mCurrentShape = DrawingView.RECTANGLE;
    mDrawingView.reset();


    anasayfabtn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View anasayfav) {

    reset();
    //mDrawingView.reset();

    }
    });


    }

    private void initViews() {
    bulmacatablo = (TableLayout) findViewById(R.id.tablo);

    sozcuka = (TextView) findViewById(R.id.sozcukta);
    sozcukb = (TextView) findViewById(R.id.sozcuktb);
    sozcukc = (TextView) findViewById(R.id.sozcuktc);
    sozcukd = (TextView) findViewById(R.id.sozcuktd);
    sozcuke = (TextView) findViewById(R.id.sozcukte);
    sozcukf = (TextView) findViewById(R.id.sozcuktf);
    sozcukg = (TextView) findViewById(R.id.sozcuktg);
    sozcukh = (TextView) findViewById(R.id.sozcukth);
    sozcuki = (TextView) findViewById(R.id.sozcukti);
    sozcukj = (TextView) findViewById(R.id.sozcuktj);

    anasayfabtn = (ImageButton) findViewById(R.id.anasayfab);
    }

    private void reset() {
    ArrayList<TextView> sozcukler = new ArrayList<TextView>();

    sozcukler.add(sozcuka);
    sozcukler.add(sozcukb);
    sozcukler.add(sozcukc);
    sozcukler.add(sozcukd);
    sozcukler.add(sozcuke);
    sozcukler.add(sozcukf);
    sozcukler.add(sozcukg);
    sozcukler.add(sozcukh);
    sozcukler.add(sozcuki);
    sozcukler.add(sozcukj);

    final ArrayList<String> bulmacakelimeler = new ArrayList<String>();
    ArrayList<String> bulmacakelimelerr = new ArrayList<String>();


    bulmacakelime(bulmacakelimelerr);

    for (int ikelime = 0; ikelime < bulmacakelimelerr.size(); ikelime++) {
    bulmacakelimelerr.set(ikelime, bulmacakelimelerr.get(ikelime).toUpperCase());
    }

    for (int iiiii = 0; iiiii < 10; iiiii++) {

    Collections.shuffle(bulmacakelimelerr);
    bulmacakelimeler.add(bulmacakelimelerr.get(0));
    bulmacakelimelerr.remove(0);

    }

    Integer[][] bulmaca = {
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    };

    Integer[] satirlarr = new Integer[1011];

    satirdizi(satirlarr);

    final ArrayList<Integer> satirlar = new ArrayList<Integer>();

    satirlar.addAll(Arrays.asList(satirlarr));

    Random yersec = new Random();
    List<Integer> secbiryerarray;
    int bulunanyerindex, bulunanyer, bulunanyerrindex, bulunanyerr;
    ArrayList<String> kelimedogrultu;
    char[] kelimekarakter;

    int isozcuk = -1;

    Log.w("Dikkat", "2");

    for (int i = 0; i < bulmacakelimeler.size(); i++) {

    isozcuk++;

    secbiryerarray = new ArrayList<Integer>();

    bulunanyerindex = yersec.nextInt(10);
    bulunanyer = bulunanyerindex + 1;

    kelimedogrultu = new ArrayList<String>();
    kelimedogrultu.add("yukari");
    kelimedogrultu.add("asagi");
    kelimedogrultu.add("sag");
    kelimedogrultu.add("sol");

    if (bulunanyer < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    }

    Log.w("Dikkat", "3");

    if ((10 - bulunanyer) + 1 < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    }

    Log.w("Dikkat", "4");

    secbiryerarray = Arrays.asList(bulmaca[bulunanyerindex]);

    bulunanyerrindex = yersec.nextInt(secbiryerarray.size());
    bulunanyerr = bulunanyerrindex + 1;

    if (bulunanyerr < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    }

    if ((10 - bulunanyerr) + 1 < bulmacakelimeler.get(i).length()) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    }

    Log.w("Dikkat", "5");

    if (kelimedogrultu.contains("yukari")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex - ikkarakter][bulunanyerrindex]).contains(bulunanyerr)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex - ikkarakter][bulunanyerrindex]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex-1][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex-2][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex-3][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("yukari"));

    }*/

    }

    if (kelimedogrultu.contains("asagi")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex + ikkarakter][bulunanyerrindex]).contains(bulunanyerr)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex + ikkarakter][bulunanyerrindex]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex+1][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex+2][bulunanyerrindex]).contains(bulunanyerr) || !Arrays.asList(bulmaca[bulunanyerindex+3][bulunanyerrindex]).contains(bulunanyerr)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("asagi"));

    }*/

    }

    if (kelimedogrultu.contains("sol")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex - ikkarakter]).contains(bulunanyerr - ikkarakter)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex - ikkarakter]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-1]).contains(bulunanyerr-1) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-2]).contains(bulunanyerr-2) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex-3]).contains(bulunanyerr-3)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sol"));

    }*/

    }

    if (kelimedogrultu.contains("sag")) {

    for (int ikkarakter = 1; ikkarakter < (bulmacakelimeler.get(i).length() - 1); ikkarakter++) {

    if (!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex + ikkarakter]).contains(bulunanyerr + ikkarakter)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    break;

    }

    if (Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex + ikkarakter]).contains(999)) {

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    break;

    }

    }

    /*if(!Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+1]).contains(bulunanyerr+1) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+2]).contains(bulunanyerr+2) || !Arrays.asList(bulmaca[bulunanyerindex][bulunanyerrindex+3]).contains(bulunanyerr+3)){

    kelimedogrultu.remove(kelimedogrultu.indexOf("sag"));

    }*/

    }

    Log.w("Dikkat", "7");

    if (kelimedogrultu.contains("yukari") || kelimedogrultu.contains("asagi") || kelimedogrultu.contains("sag") || kelimedogrultu.contains("sol")) {

    sozcukler.get(isozcuk).setText(bulmacakelimeler.get(i));

    kelimekarakter = bulmacakelimeler.get(i).toCharArray();

    Collections.shuffle(kelimedogrultu);

    int hangilerisecildi;
    TextView bulmacakelime;

    if (kelimedogrultu.get(0).equals("yukari")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer - ii) + Integer.toString(bulunanyerr));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex - ii][bulunanyerrindex] = 999;

    }

    } else if (kelimedogrultu.get(0).equals("asagi")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer + ii) + Integer.toString(bulunanyerr));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex + ii][bulunanyerrindex] = 999;

    }

    } else if (kelimedogrultu.get(0).equals("sag")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer) + Integer.toString(bulunanyerr + ii));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex][bulunanyerrindex + ii] = 999;

    }

    } else if (kelimedogrultu.get(0).equals("sol")) {

    for (int ii = 0; ii < kelimekarakter.length; ii++) {

    hangilerisecildi = Integer.valueOf(Integer.toString(bulunanyer) + Integer.toString(bulunanyerr - ii));
    bulmacakelime = (TextView) findViewById(satirlar.get(hangilerisecildi));
    bulmacakelime.setText(kelimekarakter[ii] + "");
    bulmaca[bulunanyerindex][bulunanyerrindex - ii] = 999;

    }

    }

    kelimedogrultu.clear();

    } else {

    isozcuk = isozcuk - 1;

    bulmacakelimeler.remove(i);

    }

    }

    ArrayList<String> gereksizharfler = new ArrayList<String>();
    gereksizharf(gereksizharfler);

    TextView gereksizharfkelime;
    int gereksizharfindex, gereksizharf, gereksizharffindex, gereksizharff;

    for (int iii = 0; iii < 10; iii++) {
    for (int iiii = 0; iiii < bulmaca[iii].length; iiii++) {

    Log.w("Dikkat", iiii + "");
    if (!bulmaca[iii][iiii].equals(999)) {

    gereksizharfindex = iii;
    gereksizharf = gereksizharfindex + 1;

    gereksizharffindex = iiii;
    gereksizharff = gereksizharffindex + 1;

    Collections.shuffle(gereksizharfler);
    bulmaca[gereksizharfindex][gereksizharffindex] = 999;
    gereksizharfkelime = (TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(gereksizharf) + Integer.toString(gereksizharff))));
    gereksizharfkelime.setText(gereksizharfler.get(0));

    }

    }

    }

    xbas = new ArrayList<Integer>();
    final ArrayList<Integer> xson = new ArrayList<Integer>();
    final ArrayList<Integer> ybas = new ArrayList<Integer>();
    final ArrayList<Integer> yson = new ArrayList<Integer>();

    //ArrayList<Float> korx = new ArrayList<Float>();
    //ArrayList<Float> kory = new ArrayList<Float>();

    //int[] korint = new int[2];

    //addContentView(new cizim(bulmacatablo.getContext()), bulmacatablo.getLayoutParams());

    ArrayList<Integer> tablorows = new ArrayList<Integer>();
    tablorows.add(R.id.tabloa);
    tablorows.add(R.id.tablob);
    tablorows.add(R.id.tabloc);
    tablorows.add(R.id.tablod);
    tablorows.add(R.id.tabloe);
    tablorows.add(R.id.tablof);
    tablorows.add(R.id.tablog);
    tablorows.add(R.id.tabloh);
    tablorows.add(R.id.tabloi);
    tablorows.add(R.id.tabloj);

    // TableRow trow= new TableRow(this);
    // trow = (TableRow)findViewById(R.id.tabloa);

    // trow.addView(new cizim(this));
    // trow.addView(new cizim(this));
    // trow.addView(new cizim(this));
    // trow.addView(new cizim(this));

    bulmacatablo.invalidate();
    bulmacatablo.refreshDrawableState();

    /*
    for(int iczm = 0; iczm < 3; iczm++){

    //trow = (TableRow)findViewById(tablorows.get(iczm));

    trow = new TableRow(this);

    trow.addView(new cizim(this));
    trow.addView(new cizim(this));

    //bulmacatablo.removeView(trow);

    for(int iczmm = 0; iczmm < 10; iczmm++){

    trow.addView(new cizim(this));

    }

    bulmacatablo.addView(trow);

    //trow = null;

    bulmacatablo.invalidate();
    bulmacatablo.refreshDrawableState();

    }

    */

    loop(satirlar, xson, ybas, yson);

    /*final TextView korrtv;

    korrtv = (TextView)findViewById(R.id.tabloaa);

    korrtv.getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener () {
    public void onGlobalLayout(){

    Log.w("Dikkat", korrtv.getLeft() + " " + korrtv.getRight() + " " + korrtv.getTop() + " " + korrtv.getBottom());

    }
    });


    final TextView korrrtv = (TextView)findViewById(R.id.tabloab);

    korrtv.getViewTreeObserver().addOnGlobalLayoutListener ( new ViewTreeObserver.OnGlobalLayoutListener () {
    public void onGlobalLayout(){

    Log.w("Dikkat", korrrtv.getLeft() + " " + korrrtv.getRight() + " " + korrrtv.getTop() + " " + korrrtv.getBottom());

    }
    });*/
    }

    private void satirdizi(Integer[] satirlarr) {
    satirlarr[11] = R.id.tabloaa;
    satirlarr[12] = R.id.tabloab;
    satirlarr[13] = R.id.tabloac;
    satirlarr[14] = R.id.tabload;
    satirlarr[15] = R.id.tabloae;
    satirlarr[16] = R.id.tabloaf;
    satirlarr[17] = R.id.tabloag;
    ;
    satirlarr[18] = R.id.tabloah;
    satirlarr[19] = R.id.tabloai;
    satirlarr[110] = R.id.tabloaj;

    satirlarr[21] = R.id.tabloba;
    satirlarr[22] = R.id.tablobb;
    satirlarr[23] = R.id.tablobc;
    satirlarr[24] = R.id.tablobd;
    satirlarr[25] = R.id.tablobe;
    satirlarr[26] = R.id.tablobf;
    satirlarr[27] = R.id.tablobg;
    satirlarr[28] = R.id.tablobh;
    satirlarr[29] = R.id.tablobi;
    satirlarr[210] = R.id.tablobj;

    satirlarr[31] = R.id.tabloca;
    satirlarr[32] = R.id.tablocb;
    satirlarr[33] = R.id.tablocc;
    satirlarr[34] = R.id.tablocd;
    satirlarr[35] = R.id.tabloce;
    satirlarr[36] = R.id.tablocf;
    satirlarr[37] = R.id.tablocg;
    satirlarr[38] = R.id.tabloch;
    satirlarr[39] = R.id.tabloci;
    satirlarr[310] = R.id.tablocj;

    satirlarr[41] = R.id.tabloda;
    satirlarr[42] = R.id.tablodb;
    satirlarr[43] = R.id.tablodc;
    satirlarr[44] = R.id.tablodd;
    satirlarr[45] = R.id.tablode;
    satirlarr[46] = R.id.tablodf;
    satirlarr[47] = R.id.tablodg;
    satirlarr[48] = R.id.tablodh;
    satirlarr[49] = R.id.tablodi;
    satirlarr[410] = R.id.tablodj;

    satirlarr[51] = R.id.tabloea;
    satirlarr[52] = R.id.tabloeb;
    satirlarr[53] = R.id.tabloec;
    satirlarr[54] = R.id.tabloed;
    satirlarr[55] = R.id.tabloee;
    satirlarr[56] = R.id.tabloef;
    satirlarr[57] = R.id.tabloeg;
    satirlarr[58] = R.id.tabloeh;
    satirlarr[59] = R.id.tabloei;
    satirlarr[510] = R.id.tabloej;

    satirlarr[61] = R.id.tablofa;
    satirlarr[62] = R.id.tablofb;
    satirlarr[63] = R.id.tablofc;
    satirlarr[64] = R.id.tablofd;
    satirlarr[65] = R.id.tablofe;
    satirlarr[66] = R.id.tabloff;
    satirlarr[67] = R.id.tablofg;
    satirlarr[68] = R.id.tablofh;
    satirlarr[69] = R.id.tablofi;
    satirlarr[610] = R.id.tablofj;

    satirlarr[71] = R.id.tabloga;
    satirlarr[72] = R.id.tablogb;
    satirlarr[73] = R.id.tablogc;
    satirlarr[74] = R.id.tablogd;
    satirlarr[75] = R.id.tabloge;
    satirlarr[76] = R.id.tablogf;
    satirlarr[77] = R.id.tablogg;
    satirlarr[78] = R.id.tablogh;
    satirlarr[79] = R.id.tablogi;
    satirlarr[710] = R.id.tablogj;

    satirlarr[81] = R.id.tabloha;
    satirlarr[82] = R.id.tablohb;
    satirlarr[83] = R.id.tablohc;
    satirlarr[84] = R.id.tablohd;
    satirlarr[85] = R.id.tablohe;
    satirlarr[86] = R.id.tablohf;
    satirlarr[87] = R.id.tablohg;
    satirlarr[88] = R.id.tablohh;
    satirlarr[89] = R.id.tablohi;
    satirlarr[810] = R.id.tablohj;

    satirlarr[91] = R.id.tabloia;
    satirlarr[92] = R.id.tabloib;
    satirlarr[93] = R.id.tabloic;
    satirlarr[94] = R.id.tabloid;
    satirlarr[95] = R.id.tabloie;
    satirlarr[96] = R.id.tabloif;
    satirlarr[97] = R.id.tabloig;
    satirlarr[98] = R.id.tabloih;
    satirlarr[99] = R.id.tabloii;
    satirlarr[910] = R.id.tabloij;

    satirlarr[101] = R.id.tabloja;
    satirlarr[102] = R.id.tablojb;
    satirlarr[103] = R.id.tablojc;
    satirlarr[104] = R.id.tablojd;
    satirlarr[105] = R.id.tabloje;
    satirlarr[106] = R.id.tablojf;
    satirlarr[107] = R.id.tablojg;
    satirlarr[108] = R.id.tablojh;
    satirlarr[109] = R.id.tabloji;
    satirlarr[1010] = R.id.tablojj;
    }

    private void bulmacakelime(ArrayList<String> bulmacakelimelerr) {
    bulmacakelimelerr.add("araba");
    bulmacakelimelerr.add("öğretmen");
    bulmacakelimelerr.add("polis");
    bulmacakelimelerr.add("mühendis");
    bulmacakelimelerr.add("doktor");
    bulmacakelimelerr.add("futbol");
    bulmacakelimelerr.add("voleybol");
    bulmacakelimelerr.add("basketbol");
    bulmacakelimelerr.add("golf");
    bulmacakelimelerr.add("tenis");
    bulmacakelimelerr.add("raf");
    bulmacakelimelerr.add("dolap");
    bulmacakelimelerr.add("televizyon");
    bulmacakelimelerr.add("mum");
    bulmacakelimelerr.add("ayna");
    bulmacakelimelerr.add("lamba");
    bulmacakelimelerr.add("telefon");
    bulmacakelimelerr.add("bilgisayar");
    bulmacakelimelerr.add("anahtar");
    bulmacakelimelerr.add("disk");
    bulmacakelimelerr.add("bellek");
    bulmacakelimelerr.add("kart");
    bulmacakelimelerr.add("eşofman");
    bulmacakelimelerr.add("şapka");
    bulmacakelimelerr.add("saat");
    bulmacakelimelerr.add("bilezik");
    bulmacakelimelerr.add("kolye");
    bulmacakelimelerr.add("yüzük");
    bulmacakelimelerr.add("gözlük");
    bulmacakelimelerr.add("kablo");
    bulmacakelimelerr.add("sepet");
    bulmacakelimelerr.add("kulaklık");
    bulmacakelimelerr.add("kağıt");
    bulmacakelimelerr.add("kalem");
    bulmacakelimelerr.add("kalemlik");
    bulmacakelimelerr.add("dosya");
    bulmacakelimelerr.add("defter");
    bulmacakelimelerr.add("kitap");
    bulmacakelimelerr.add("silgi");
    bulmacakelimelerr.add("masa");
    bulmacakelimelerr.add("sandalye");
    bulmacakelimelerr.add("yastık");
    bulmacakelimelerr.add("kılık");
    bulmacakelimelerr.add("kanepe");
    bulmacakelimelerr.add("madalyon");
    bulmacakelimelerr.add("peçete");
    bulmacakelimelerr.add("günlük");
    bulmacakelimelerr.add("meslek");
    bulmacakelimelerr.add("dişçi");
    bulmacakelimelerr.add("fırıncı");
    bulmacakelimelerr.add("market");
    bulmacakelimelerr.add("oyuncak");
    bulmacakelimelerr.add("fil");
    bulmacakelimelerr.add("maymun");
    bulmacakelimelerr.add("zürafa");
    bulmacakelimelerr.add("fare");
    bulmacakelimelerr.add("goril");
    bulmacakelimelerr.add("klavye");
    bulmacakelimelerr.add("tuş");
    bulmacakelimelerr.add("hoparlör");
    bulmacakelimelerr.add("aslan");
    bulmacakelimelerr.add("kaplan");
    bulmacakelimelerr.add("kedi");
    bulmacakelimelerr.add("köpek");
    bulmacakelimelerr.add("yılan");
    bulmacakelimelerr.add("güneş");
    bulmacakelimelerr.add("krem");
    bulmacakelimelerr.add("merhem");
    bulmacakelimelerr.add("ilaç");
    bulmacakelimelerr.add("deniz");
    bulmacakelimelerr.add("kum");
    bulmacakelimelerr.add("okyanus");
    bulmacakelimelerr.add("göl");
    bulmacakelimelerr.add("kanal");
    bulmacakelimelerr.add("park");
    bulmacakelimelerr.add("ağaç");
    bulmacakelimelerr.add("orman");
    bulmacakelimelerr.add("türkü");
    bulmacakelimelerr.add("şarkı");
    bulmacakelimelerr.add("davul");
    bulmacakelimelerr.add("cetvel");
    bulmacakelimelerr.add("çizgi");
    bulmacakelimelerr.add("bant");
    bulmacakelimelerr.add("sunum");
    bulmacakelimelerr.add("slayt");
    bulmacakelimelerr.add("çerçeve");
    bulmacakelimelerr.add("zımba");
    bulmacakelimelerr.add("ataç");
    bulmacakelimelerr.add("ofis");
    bulmacakelimelerr.add("melodika");
    bulmacakelimelerr.add("klarnet");
    bulmacakelimelerr.add("slime");
    bulmacakelimelerr.add("tasarım");
    bulmacakelimelerr.add("boya");
    bulmacakelimelerr.add("fırça");
    bulmacakelimelerr.add("tablo");
    bulmacakelimelerr.add("koli");
    bulmacakelimelerr.add("karton");
    bulmacakelimelerr.add("gitar");
    bulmacakelimelerr.add("saz");
    bulmacakelimelerr.add("ukulele");
    bulmacakelimelerr.add("bağlama");
    bulmacakelimelerr.add("kalemtıraş");
    bulmacakelimelerr.add("üçgen");
    bulmacakelimelerr.add("kare");
    bulmacakelimelerr.add("beşgen");
    bulmacakelimelerr.add("altıgen");
    bulmacakelimelerr.add("yamuk");
    bulmacakelimelerr.add("çokgen");
    bulmacakelimelerr.add("dörtgen");
    bulmacakelimelerr.add("yıldız");
    bulmacakelimelerr.add("daire");
    bulmacakelimelerr.add("yunus");
    bulmacakelimelerr.add("balina");
    bulmacakelimelerr.add("balık");
    bulmacakelimelerr.add("yengeç");
    bulmacakelimelerr.add("ahtapot");
    bulmacakelimelerr.add("karides");
    bulmacakelimelerr.add("kurbağa");
    bulmacakelimelerr.add("timsah");
    bulmacakelimelerr.add("kaz");
    bulmacakelimelerr.add("ördek");
    bulmacakelimelerr.add("bisiklet");
    bulmacakelimelerr.add("fayton");
    bulmacakelimelerr.add("kamyon");
    bulmacakelimelerr.add("metrobüs");
    bulmacakelimelerr.add("makas");
    bulmacakelimelerr.add("gül");
    bulmacakelimelerr.add("lale");
    bulmacakelimelerr.add("karanfil");
    bulmacakelimelerr.add("zambak");
    bulmacakelimelerr.add("nergis");
    bulmacakelimelerr.add("sümbül");
    bulmacakelimelerr.add("nilüfer");
    bulmacakelimelerr.add("menekşe");
    bulmacakelimelerr.add("leylek");
    bulmacakelimelerr.add("papatya");
    bulmacakelimelerr.add("vida");
    bulmacakelimelerr.add("çekiç");
    bulmacakelimelerr.add("pense");
    bulmacakelimelerr.add("tornavida");
    bulmacakelimelerr.add("keman");
    bulmacakelimelerr.add("org");
    bulmacakelimelerr.add("flüt");
    bulmacakelimelerr.add("marakas");
    bulmacakelimelerr.add("takvim");
    bulmacakelimelerr.add("cam");
    bulmacakelimelerr.add("gazete");
    bulmacakelimelerr.add("havaalanı");
    bulmacakelimelerr.add("otel");
    bulmacakelimelerr.add("hastane");
    bulmacakelimelerr.add("postane");
    bulmacakelimelerr.add("müze");
    bulmacakelimelerr.add("sinema");
    bulmacakelimelerr.add("yaz");
    bulmacakelimelerr.add("kış");
    bulmacakelimelerr.add("ilkbahar");
    bulmacakelimelerr.add("sonbahar");
    bulmacakelimelerr.add("hafta");
    bulmacakelimelerr.add("gün");
    }

    private void gereksizharf(ArrayList<String> gereksizharfler) {
    gereksizharfler.add("A");
    gereksizharfler.add("B");
    gereksizharfler.add("C");
    gereksizharfler.add("Ç");
    gereksizharfler.add("D");
    gereksizharfler.add("E");
    gereksizharfler.add("F");
    gereksizharfler.add("G");
    gereksizharfler.add("Ğ");
    gereksizharfler.add("H");
    gereksizharfler.add("İ");
    gereksizharfler.add("I");
    gereksizharfler.add("J");
    gereksizharfler.add("K");
    gereksizharfler.add("L");
    gereksizharfler.add("M");
    gereksizharfler.add("N");
    gereksizharfler.add("O");
    gereksizharfler.add("Ö");
    gereksizharfler.add("P");
    gereksizharfler.add("R");
    gereksizharfler.add("S");
    gereksizharfler.add("Ş");
    gereksizharfler.add("T");
    gereksizharfler.add("U");
    gereksizharfler.add("Ü");
    gereksizharfler.add("V");
    gereksizharfler.add("Y");
    gereksizharfler.add("Z");
    }

    private void loop(final ArrayList<Integer> satirlar, final ArrayList<Integer> xson, final ArrayList<Integer> ybas, final ArrayList<Integer> yson) {
    for (int ikor = 1; ikor < 11; ikor++) {
    final int ikori = ikor;
    for (int ikorr = 1; ikorr < 11; ikorr++) {
    final int ikorri = ikorr;

    Log.e("Dikkat", "ikorri : " + ikori + " ikorri : " + ikorri);

    ((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    public void onGlobalLayout() {

    xbas.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getLeft());
    xson.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getRight());
    ybas.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getTop());
    yson.add(((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getBottom());

    Log.w("Dikkat", "x bas : " + xbas.get(xbas.size() - 1) + " x son : " + xson.get((xson.size() - 1)) + " y bas : " + ybas.get(ybas.size() - 1) + " y son : " + yson.get(yson.size() - 1));

    int[] intkor = new int[2];

    ((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getLocationOnScreen(intkor);

    Log.w("Dikkat", Integer.toString(intkor[0]) + " " + Integer.toString(intkor[1]));

    ((TextView) findViewById(satirlar.get(Integer.valueOf(Integer.toString(ikori) + Integer.toString(ikorri))))).getViewTreeObserver().removeOnGlobalLayoutListener(this);

    }
    });

    }

    }
    }

    public ArrayList<Integer> getxarray() {

    return xbas;

    }

    }



    Layout dosyasına ise cizim sınıfı yerine yukarıdaki linkteki View'i ekledim.



    <com.minik.myapplication.DrawingView
    android:id="@+id/drawingView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />



    View sınıfı


    /*
    * Copyright 2014 Gabriele Mariotti
    *
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    *
    * http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */


    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.util.AttributeSet;
    import android.view.MotionEvent;
    import android.view.View;

    /**
    * @author Gabriele Mariotti (gabri.mariotti@gmail.com)
    */
    public class DrawingView extends View {

    public static final int LINE = 1;
    public static final int RECTANGLE = 3;
    public static final int SQUARE = 4;
    public static final int CIRCLE = 5;
    public static final int TRIANGLE = 6;
    public static final int SMOOTHLINE = 2;

    public static final float TOUCH_TOLERANCE = 4;
    public static final float TOUCH_STROKE_WIDTH = 5;

    public int mCurrentShape;

    protected Path mPath;
    protected Paint mPaint;
    protected Paint mPaintFinal;
    protected Bitmap mBitmap;
    protected Canvas mCanvas;

    /**
    * Indicates if you are drawing
    */
    protected boolean isDrawing = false;

    /**
    * Indicates if the drawing is ended
    */
    protected boolean isDrawingEnded = false;


    protected float mStartX;
    protected float mStartY;

    protected float mx;
    protected float my;

    public DrawingView(Context context) {
    super(context);
    init();
    }

    public DrawingView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
    }

    public DrawingView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init();
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
    }

    @Override
    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(mBitmap, 0, 0, mPaint);

    if (isDrawing){
    switch (mCurrentShape) {
    case LINE:
    onDrawLine(canvas);
    break;
    case RECTANGLE:
    onDrawRectangle(canvas);
    break;
    case SQUARE:
    onDrawSquare(canvas);
    break;
    case CIRCLE:
    onDrawCircle(canvas);
    break;
    case TRIANGLE:
    onDrawTriangle(canvas);
    break;
    }
    }
    }




    protected void init() {
    mPath = new Path();

    mPaint = new Paint(Paint.DITHER_FLAG);
    mPaint.setAntiAlias(true);
    mPaint.setDither(true);
    mPaint.setColor(getContext().getResources().getColor(android.R.color.holo_blue_dark));
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);
    mPaint.setStrokeCap(Paint.Cap.ROUND);
    mPaint.setStrokeWidth(TOUCH_STROKE_WIDTH);


    mPaintFinal = new Paint(Paint.DITHER_FLAG);
    mPaintFinal.setAntiAlias(true);
    mPaintFinal.setDither(true);
    mPaintFinal.setColor(getContext().getResources().getColor(android.R.color.holo_orange_dark));
    mPaintFinal.setStyle(Paint.Style.STROKE);
    mPaintFinal.setStrokeJoin(Paint.Join.ROUND);
    mPaintFinal.setStrokeCap(Paint.Cap.ROUND);
    mPaintFinal.setStrokeWidth(TOUCH_STROKE_WIDTH);
    }

    protected void reset() {
    mPath = new Path();
    countTouch=0;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    mx = event.getX();
    my = event.getY();
    switch (mCurrentShape) {
    case LINE:
    onTouchEventLine(event);
    break;
    case SMOOTHLINE:
    onTouchEventSmoothLine(event);
    break;
    case RECTANGLE:
    onTouchEventRectangle(event);
    break;
    case SQUARE:
    onTouchEventSquare(event);
    break;
    case CIRCLE:
    onTouchEventCircle(event);
    break;
    case TRIANGLE:
    onTouchEventTriangle(event);
    break;
    }
    return true;
    }



    //------------------------------------------------------------------
    // Line
    //------------------------------------------------------------------

    private void onDrawLine(Canvas canvas) {

    float dx = Math.abs(mx - mStartX);
    float dy = Math.abs(my - mStartY);
    if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
    canvas.drawLine(mStartX, mStartY, mx, my, mPaint);
    }
    }

    private void onTouchEventLine(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    mCanvas.drawLine(mStartX, mStartY, mx, my, mPaintFinal);
    invalidate();
    break;
    }
    }

    //------------------------------------------------------------------
    // Smooth Line
    //------------------------------------------------------------------


    private void onTouchEventSmoothLine(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;

    mPath.reset();
    mPath.moveTo(mx, my);

    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:

    float dx = Math.abs(mx - mStartX);
    float dy = Math.abs(my - mStartY);
    if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
    mPath.quadTo(mStartX, mStartY, (mx + mStartX) / 2, (my + mStartY) / 2);
    mStartX = mx;
    mStartY = my;
    }
    mCanvas.drawPath(mPath, mPaint);
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    mPath.lineTo(mStartX, mStartY);
    mCanvas.drawPath(mPath, mPaintFinal);
    mPath.reset();
    invalidate();
    break;
    }
    }

    //------------------------------------------------------------------
    // Triangle
    //------------------------------------------------------------------

    int countTouch =0;
    float basexTriangle =0;
    float baseyTriangle =0;

    private void onDrawTriangle(Canvas canvas){

    if (countTouch<3){
    canvas.drawLine(mStartX,mStartY,mx,my,mPaint);
    }else if (countTouch==3){
    canvas.drawLine(mx,my,mStartX,mStartY,mPaint);
    canvas.drawLine(mx,my,basexTriangle,baseyTriangle,mPaint);
    }
    }

    private void onTouchEventTriangle(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    countTouch++;
    if (countTouch==1){
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    } else if (countTouch==3){
    isDrawing = true;
    }
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    countTouch++;
    isDrawing = false;
    if (countTouch<3){
    basexTriangle=mx;
    baseyTriangle=my;
    mCanvas.drawLine(mStartX,mStartY,mx,my,mPaintFinal);
    } else if (countTouch>=3){
    mCanvas.drawLine(mx,my,mStartX,mStartY,mPaintFinal);
    mCanvas.drawLine(mx,my,basexTriangle,baseyTriangle,mPaintFinal);
    countTouch =0;
    }
    invalidate();
    break;
    }
    }

    //------------------------------------------------------------------
    // Circle
    //------------------------------------------------------------------

    private void onDrawCircle(Canvas canvas){
    canvas.drawCircle(mStartX, mStartY, calculateRadius(mStartX, mStartY, mx, my), mPaint);
    }

    private void onTouchEventCircle(MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    mCanvas.drawCircle(mStartX, mStartY, calculateRadius(mStartX,mStartY,mx,my), mPaintFinal);
    invalidate();
    break;
    }
    }

    /**
    *
    * @return
    */
    protected float calculateRadius(float x1, float y1, float x2, float y2) {

    return (float) Math.sqrt(
    Math.pow(x1 - x2, 2) +
    Math.pow(y1 - y2, 2)
    );
    }

    //------------------------------------------------------------------
    // Rectangle
    //------------------------------------------------------------------

    private void onDrawRectangle(Canvas canvas) {
    drawRectangle(canvas,mPaint);
    }

    private void onTouchEventRectangle(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    drawRectangle(mCanvas,mPaintFinal);
    invalidate();
    break;
    }
    ;
    }

    private void drawRectangle(Canvas canvas,Paint paint){
    float right = mStartX > mx ? mStartX : mx;
    float left = mStartX > mx ? mx : mStartX;
    float bottom = mStartY > my ? mStartY : my;
    float top = mStartY > my ? my : mStartY;
    canvas.drawRect(left, top , right, bottom, paint);
    }

    //------------------------------------------------------------------
    // Square
    //------------------------------------------------------------------

    private void onDrawSquare(Canvas canvas) {
    onDrawRectangle(canvas);
    }

    private void onTouchEventSquare(MotionEvent event) {

    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
    isDrawing = true;
    mStartX = mx;
    mStartY = my;
    invalidate();
    break;
    case MotionEvent.ACTION_MOVE:
    adjustSquare(mx, my);
    invalidate();
    break;
    case MotionEvent.ACTION_UP:
    isDrawing = false;
    adjustSquare(mx, my);
    drawRectangle(mCanvas,mPaintFinal);
    invalidate();
    break;
    }
    }

    /**
    * Adjusts current coordinates to build a square
    * @param x
    * @param y
    */
    protected void adjustSquare(float x, float y) {
    float deltaX = Math.abs(mStartX - x);
    float deltaY = Math.abs(mStartY - y);

    float max = Math.max(deltaX, deltaY);

    mx = mStartX - x < 0 ? mStartX + max : mStartX - max;
    my = mStartY - y < 0 ? mStartY + max : mStartY - max;
    }


    }






    Ama cizim classında <span > lar hata veriyor. Oyun xml dosyasında da hata veriyor.

    Yardımınıza ihtiyacım var.

    Biraz anlamadım ama.

    < Bu ileti DH mobil uygulamasından atıldı >




  • Hocam kodları sen verdin bana zaten. Spanları ben temizledim. Kodlar sana ait değil mi ?
  • kreat kullanıcısına yanıt
    Tamam şimdi anladım. Ama şimdi hala tüm-full ekranda çizim yapabiliyor. Ben sadece TableLayout da yapmasını istiyorum.

    < Bu ileti DH mobil uygulamasından atıldı >
  • O zaman viewi tablelayout içine ekle.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • kreat kullanıcısına yanıt
    Ekledim. TableLayout gözükmüyor. Dene istersen.

    < Bu ileti DH mobil uygulamasından atıldı >
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.