Android sadece TableLayout’da daire çizmek(canvas) (Tüm Sürüm)
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Java
Mesaj
webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (6.8.2019 21:05:37)
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.

an agony => Android sadece TableLayout’da daire çizmek(canvas) (11.8.2019 11:46:03)
Daire çizdirdiğin kod bloğunu paylaşır mısın?

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (12.8.2019 07:31:09)
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.

kreat => Android sadece TableLayout’da daire çizmek(canvas) (12.8.2019 14:59:06)
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?

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 08:01:46)
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.

kreat => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 10:20:15)
Hocam layout ve main activity dosyasını paylaşır mısın? Layouttaki row'a addview yaptın mı hocam ?

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 10:30:52)
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.

kreat => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 11:35:03)
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.

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 11:50:35)
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.

< Resime gitmek için tıklayın >

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

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

kreat => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 12:28:58)
pardon.Kodları ide'ye aktarıp bakıyorum hocam.

< Resime gitmek için tıklayın >

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 ?

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 12:38:01)
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.

kreat => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 12:47:02)
< Resime gitmek için tıklayın >

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 ?

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 12:58:12)
Evet böyle olması gerekiyor. Harflerin üstünü çizmek istiyorum daire olur, dikdörtgen-çizgi olur.

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

kreat => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 19:24:19)
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;
}


}






< Resime gitmek için tıklayın >

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 19:44:33)
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.

kreat => Android sadece TableLayout’da daire çizmek(canvas) (15.8.2019 20:13:28)
Hocam kodları sen verdin bana zaten. Spanları ben temizledim. Kodlar sana ait değil mi ?

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (16.8.2019 18:33:04)
Tamam şimdi anladım. Ama şimdi hala tüm-full ekranda çizim yapabiliyor. Ben sadece TableLayout da yapmasını istiyorum.

kreat => Android sadece TableLayout’da daire çizmek(canvas) (16.8.2019 19:10:08)
O zaman viewi tablelayout içine ekle.

webandyazilimprofesor => Android sadece TableLayout’da daire çizmek(canvas) (16.8.2019 20:17:47)
Ekledim. TableLayout gözükmüyor. Dene istersen.

Sayfa: [1] 2   sonraki >     >>