2016-10-17 3 views
0

Я хочу вызвать метод, если была использована конкретная область экрана (мой RelativeLayout). Я разрабатываю игру tic-toc-toe-носок, я хочу сделать значение alpha каждого круга или креста на каждом прямоугольнике.
вот мой xml файл, каждый ImageView будет круг или крест, если стал постучала:Как узнать, находится ли контактная позиция в определенной области - Android

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_centerHorizontal="true" 
    android:background="#e4f7a6" 
    android:layout_above="@+id/buttonRed" 
    android:id="@+id/relativeLayout"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/board" 
     android:src="@drawable/board" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/Center" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" 
     android:src="@drawable/red"/> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/leftCenter" 
     android:src="@drawable/red" 
     android:layout_centerVertical="true" 
     android:layout_alignParentLeft="true" 
     android:translationX="20dp" 
     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/rightCenter" 
     android:src="@drawable/red" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:translationX="-20dp" 
     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/upCenter" 
     android:src="@drawable/red" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentTop="true" 
     android:translationY="40dp" 
     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/upLeft" 
     android:src="@drawable/red" 
     android:layout_alignParentLeft="true" 
     android:translationX="20dp" 
     android:translationY="40dp" 

     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/upRight" 
     android:src="@drawable/red" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     android:translationY="40dp" 
     android:translationX="-20dp" 
     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/downLeft" 
     android:src="@drawable/red" 
     android:translationY="-40dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentBottom="true" 
     android:translationX="20dp" 
     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/downRight" 
     android:src="@drawable/red" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentBottom="true" 
     android:translationY="-40dp" 
     android:translationX="-20dp" 
     /> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/downCenter" 
     android:src="@drawable/red" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:translationY="-40dp" 
     /> 
</RelativeLayout> 

Я знаю, как получить похлопал положение точки с:

Display display = getWindowManager().getDefaultDisplay(); 
@Override 
public boolean onTouchEvent(MotionEvent event) { 
    int x = (int)event.getX(); 
    int y = (int)event.getY(); 
    return true; 
} 

Так как я должен получить область каждого квадрата в tic toc toe доска?

+0

вы должны определить один метод, получить центральную точку вашего изображения –

+0

@NitinMakwana как я должен это делать? –

ответ

1

применяется на изменение фокуса у слушателя к ImageView и сделать свой код, где вид изображения получит фокус, как: -

if(hasFocus){ 
// do your code 

}else{ 

} 
+0

Вы имеете в виду для каждого изображения, я должен написать метод и изменить альфу и ресурс? –

+0

@ShahriarMJ применительно к переменам смены фокуса к вашему представлению изображения и делать то, что вы хотите! когда изображение получает фокус, он запускает ваш код и не забывает удалять фокус, когда изображение не получает фокуса. – LoveAndroid

+0

получил. Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^