- AMD Navi Radeon™ RX 9xxx sorozat
- Apple MacBook
- Kormányok / autós szimulátorok topikja
- Nem fut az Intel grafikus vezérlőin az év egyik legjobban várt címe
- Milyen házat vegyek?
- Apple asztali gépek
- Mini PC
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Épített vízhűtés (nem kompakt) topic
Új hozzászólás Aktív témák
-
thon73
tag
Vicces, most derült ki mennyire topa vagyok a multithread-del, mégis megosztom egy volt ötletem. Én scrolloztatni akartam a képet, amíg a delikvens hosszan nyom egy pontot. A longpress nem jó, mert az csak egy dolgot csinál meg utána, aztán megint vár. Sztem. neked ugyanez kell fordítva: Ha érintés történik, akkor megszakítod a thread-et.
Egy két kódrészlet:TouchThread touchThread;
@Override
public boolean onTouchEvent(MotionEvent event)
{
...
case MotionEvent.ACTION_DOWN:
touchDirection = 1;
touchThread = new TouchThread();
touchThread.start();
break;
case MotionEvent.ACTION_UP:
if (touchThread != null)
touchThread.interrupt();
break;
}
...
}
private class TouchThread extends Thread
{
@Override
public void run()
{
// Csak vár, hogy hosszú nyomás legyen
for (int cnt=0; cnt<3; cnt++)
{
sleep(100);
if (isInterrupted())
{
touchThread = null;
return;
}
}
// Innentől történik a gyorsuló görgetés
int pause = 150;
while(true)
{
for (int cnt=0; cnt<15; cnt++)
{
sleep(pause);
if (isInterrupted())
{
touchThread = null;
return;
}
// Itt kérjük meg a görgetést az UI száltól !!!!!!
touchThreadHandler.sendEmptyMessage(0);
}
if (pause > 85)
pause -= 30;
}
}
// A görgetést a Handler fogja elvégezni
private Handler touchThreadHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
if (touchDirection >= 0)
rollForwardLine();
else
rollBackwardLine();
touchState = 0;
invalidate();
}
}
}Ezt elég régen írtam, aztán megszakadt a dolog. Egyébként nem csak az időzítést tudja, hanem egyre gyorsul is a görgetés, amíg nyomod a képet.
Bocs, hogy a kód összetöredezett, amíg kiszemezgettem, de sztem a lényeg érthető. Mint kiderült, nem vagyok (még) teljesen otthon a thread-ekben; (ha valaki hibát talál, és szól, köszönöm); de a kód prímán működik.
Új hozzászólás Aktív témák
- Újszerű GoPro Hero 10 + tartozékok / Go Pro Hero 10
- AMD Ryzen 9 5900X processzor
- Ú, bontatlan, iPhone 16 Pro gyárilag kártya-független, apple világgaranciával
- FPS-gyilkos szörny I7 + RX 9060XT 16GB + prémium minden + garancia / számla
- Samgung Galaxy Tab S9 szürke 12GB/256GB (+ érintőceruza +bézs, +fekete tok +billentyűzet, touchpad)
- LG UltraGear 32GQ85X-B LED IPS Monitor! 2560x1440 / 240Hz / 1ms / FreeSync / G-Sync
- ÚJ Lenovo Yoga 7 - 14" WUXGA OLED - Intel Ultra 5 226V - 16GB - 512GB - Win11 -3 év gari - HUN - PEN
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


