Arama butonu
Bu konudaki kullanıcılar: 1 misafir
20
Cevap
600
Tıklama
0
Öne Çıkarma
Android sadece TableLayout’da daire çizmek(canvas)
W
6 yıl
Yüzbaşı
Konu Sahibi

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ı >

A
6 yıl
Yüzbaşı

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



< Bu ileti DH mobil uygulamasından atıldı >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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.



K
6 yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @kreat
K
6 yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @webandyazilimprofesor
W
6 yıl
Yüzbaşı
Konu Sahibi

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.



K
6 yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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.



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


Bu mesajda bahsedilenler: @kreat
K
6 yıl
Binbaşı

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 ?





< Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 12:39:5 >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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ı >


Bu mesajda bahsedilenler: @kreat
K
6 yıl
Binbaşı

< 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 ?





< Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 12:54:41 >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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ı >


Bu mesajda bahsedilenler: @kreat
K
6 yıl
Binbaşı

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 >





< Bu mesaj bu kişi tarafından değiştirildi kreat -- 15 Ağustos 2019; 19:30:57 >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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;
}


}






< Resime gitmek için tıklayın >
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ı >


Bu mesajda bahsedilenler: @kreat
K
6 yıl
Binbaşı

Hocam kodları sen verdin bana zaten. Spanları ben temizledim. Kodlar sana ait değil mi ?


Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

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ı >


Bu mesajda bahsedilenler: @kreat
K
6 yıl
Binbaşı

O zaman viewi tablelayout içine ekle.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
W
6 yıl
Yüzbaşı
Konu Sahibi

Ekledim. TableLayout gözükmüyor. Dene istersen.



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


Bu mesajda bahsedilenler: @kreat