Skocz do zawartości
Robson1416

Wyświetlenie listy wifi

    Rekomendowane odpowiedzi

    senega

    Jako tło zrób domek, ale bez okien, drzwi, komina - tych elementów na których chcesz wykonywać jakąś akcję. Elementy te dodasz osobno za pomocą Relative. Jeśli chcesz umieścić domek jako rysunek i na to nałożyć warstwę wykrywającą akcje na poszczególnych elementach to wszystko może Ci się rozjechać przy różnych wielkościach i gęstościach ekranu.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Jako tło zrób domek, ale bez okien, drzwi, komina - tych elementów na których chcesz wykonywać jakąś akcję. Elementy te dodasz osobno za pomocą Relative. Jeśli chcesz umieścić domek jako rysunek i na to nałożyć warstwę wykrywającą akcje na poszczególnych elementach to wszystko może Ci się rozjechać przy różnych wielkościach i gęstościach ekranu.

    Rozumiem, ale jeżeli do akcji potrzebne mi są tylko drzwi. To reszte także jako tło ? a drzwi tylko jako element akcji (ImageView) ?

    Edytowane przez Robson1416

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ok, udało się wszystko, został już tylko ostatni problem ;p

    Jeśli przytrzymuje przycisk. Animacja ma działać. Odpuszczam przycisk. Animacja = stop.

    Myślałem, że wystarczy dodać android:state_pressed="true"

    ale to nie działa.

    Użyłem też onTouch() --ACTION_DOWN , ACTION_UP , ale to też nie pomaga. Jak to zrobić najlepiej ?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jest tak dlatego, że animacje wykonujesz pewnie w momencie ACTION_DOWN, zrób OnClickListenera na button i wtedy puść animacje

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Jest tak dlatego, że animacje wykonujesz pewnie w momencie ACTION_DOWN, zrób OnClickListenera na button i wtedy puść animacje

    Ok, nie wiem czy dobrze zrozumiałem, myślę, że tak ;p oto mój kod:

     b1.setOnTouchListener(new OnTouchListener() {
    	 public boolean onTouch(View view, MotionEvent motionevent) {
    
    mScanner.setVisibility(View.VISIBLE);
    mAnimation = new TranslateAnimation(
    TranslateAnimation.ABSOLUTE, 0f,
    TranslateAnimation.ABSOLUTE, 0f,
    TranslateAnimation.RELATIVE_TO_PARENT, 0f,
    TranslateAnimation.RELATIVE_TO_PARENT, 0.21f);
                   	   mAnimation.setDuration(4000);
                   	   mAnimation.setRepeatCount(-1);
    mAnimation.setRepeatMode(Animation.REVERSE);
                   	   mAnimation.setInterpolator(new LinearInterpolator());
                   	   mScanner.setAnimation(mAnimation);
    
                       int action = motionevent.getAction();
    if (action == MotionEvent.ACTION_DOWN) {
    
                    } else if (action == MotionEvent.ACTION_CANCEL ) {
          mAnimation.reset();
                    }
                    return false;
                }
            }); 

    Jednak dalej jest ten sam problem, bo po naciśnięciu przycisku i przytrzymaniu go animacja pracuje, to prawda. Ale po odpuszczeniu palca nadal pracuje. A chodzi o to, żeby się zresetowała do stanu wyjściowego i zatrzymała.

    Coś jeszcze jest źle ?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Ok, nie wiem czy dobrze zrozumiałem, myślę, że tak ;p oto mój kod:

     b1.setOnTouchListener(new OnTouchListener() {
    	 public boolean onTouch(View view, MotionEvent motionevent) {
    
    mScanner.setVisibility(View.VISIBLE);
    mAnimation = new TranslateAnimation(
    TranslateAnimation.ABSOLUTE, 0f,
    TranslateAnimation.ABSOLUTE, 0f,
    TranslateAnimation.RELATIVE_TO_PARENT, 0f,
    TranslateAnimation.RELATIVE_TO_PARENT, 0.21f);
                   	   mAnimation.setDuration(4000);
                   	   mAnimation.setRepeatCount(-1);
    mAnimation.setRepeatMode(Animation.REVERSE);
                   	   mAnimation.setInterpolator(new LinearInterpolator());
                   	   mScanner.setAnimation(mAnimation);
    
                       int action = motionevent.getAction();
    if (action == MotionEvent.ACTION_DOWN) {
    
                    } else if (action == MotionEvent.ACTION_CANCEL ) {
          mAnimation.reset();
                    }
                    return false;
                }
            }); 

    Jednak dalej jest ten sam problem, bo po naciśnięciu przycisku i przytrzymaniu go animacja pracuje, to prawda. Ale po odpuszczeniu palca nadal pracuje. A chodzi o to, żeby się zresetowała do stanu wyjściowego i zatrzymała.

    Coś jeszcze jest źle ?

    Można prosić o pomoc :)

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Czy da się w jakiś sposób zrobić takie coś na przykładzie tego domku.

    Cały dom to jeden ImageView z oknami, drzwiami itd.

    Teraz chcę bez :"pocięcia" obrazka zrobić, żeby po kliknięciu na okno wywołać intencję. Da się tak ?

    Edytowane przez Robson1416

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x