android:ellipsize="marquee" väldigt långsam i listor

Diskussion i 'Frågor, support och diskussion' startad av johle, 21 jul 2010.

  1. johle

    johle Kid Droid Medlem

    Blev medlem:
    8 jun 2010
    Inlägg:
    35
    Mottagna gillanden:
    0

    MINA ENHETER

    Hejsan, jag lyckades till slut få till en fin lista med dynamiska element och text. Dock är namnen är alldeles för långa, så jag ville korta av dem snyggt.

    android:singleLine="true" gör visserligen detta, men inte SNYGGT.

    Jag fick tidigare hjälp och hittade då:
    android:ellipsize="marquee"

    Perfekt, tänkte jag :) Fram till dess att jag insåg att detta var otroligt krävande. På min HTC Desire hackar hela listan när jag ska dra den upp och ned. Tar jag bara bort android:ellipsize="marquee" så fungerar det perfekt.

    Men! Spotify (som är en av mina favoritapplikationer för referens då jag programmerar) har dessa snyggt fade:ade kanter på sina texter, och inte hackar scrollen där!

    :(

    Jag tänkte att man kanske kunde gå igenom varje element som syns, och sedan på något sätt avgöra om texten är för lång, och endast DÅ använda android:ellipsize="marquee". Men det känns ju som att Android gör denna check i bakgrunden på något sätt, och om alla element är långa, som ofta är fallet, så hjälper det ju inte :(

    Någon har någon idé kring hur detta skulle kunna lösas?

    Kod enligt nedan för min text:

    HTML:
    	<TextView android:id="@+id/structureTitle"
    			android:layout_height="wrap_content" android:gravity="center_vertical"
    			android:text="text" android:visibility="visible"
    			android:layout_width="fill_parent" android:textColor="#FFFFFF"
    			android:textStyle="bold" android:textSize="20dip" android:singleLine="true"
    			android:ellipsize="marquee"
    			 />
    Tack på förhand, alla funderingar och tips uppskattas! :)

    MVH

    // Johan
     
  2. droidgren

    droidgren Senior Droid Hedersmedlem

    Blev medlem:
    26 maj 2009
    Inlägg:
    1 601
    Mottagna gillanden:
    153
    Telefon:
    Google Pixel 6 Pro

    MINA ENHETER

    Telefon:
    Google Pixel 6 Pro
    Last edited: 21 jul 2010
  3. droidgren

    droidgren Senior Droid Hedersmedlem

    Blev medlem:
    26 maj 2009
    Inlägg:
    1 601
    Mottagna gillanden:
    153
    Telefon:
    Google Pixel 6 Pro

    MINA ENHETER

    Telefon:
    Google Pixel 6 Pro
  4. johle

    johle Kid Droid Medlem

    Blev medlem:
    8 jun 2010
    Inlägg:
    35
    Mottagna gillanden:
    0

    MINA ENHETER

    Tack för dina svar! Dock så använder min lista redan recycling, så jag antar "tyvärr" att den redan är rätt effektiv. Jag är inte säker på huruvida den är inne på tredje steget av de länkarna du skickade, men recycling använder jag. Har lite andra funktioner som jag meckar med nu, så kör med avkapade ord istället; som Android har implementerat. Denna funktion är dock rätt kass. Trots att man nästan har en hel rad till sitt förfogande så tar den ibland bara 3-5 bokstäver, sedan ... efter. Rätt skumt... Men jag vill såklart fortfarande använda ellipsize då detta är betydligt snyggare i min mening :o
     
  5. Kaj

    Kaj Senior Droid Medlem

    Blev medlem:
    12 jun 2009
    Inlägg:
    1 768
    Mottagna gillanden:
    44

    MINA ENHETER

    Hmm... var på en kort presentation om spotifyklienten och jag har för mig att de där använder rätt mycket bilder för att få allt att gå mjukare. Har du många rader? Annars kan du be varje TextView rendrera sig till en bild, och sedan är det bilder du visar istället för TextView. Då behöver inte Android beräkna punkterna och allt annat varje gång du scrollar.

    Prognosvyn i Snowstorm hackar också, men där beror det på att det verkar som att SpannableString i en TextView också leder till beräkningar när man scrollar. Beräkningarna i sig är säkert ofarliga, men de allokerar onödiga objekt som gör att GC kickar in.
     
  6. johle

    johle Kid Droid Medlem

    Blev medlem:
    8 jun 2010
    Inlägg:
    35
    Mottagna gillanden:
    0

    MINA ENHETER

    Jasså, det vore helt klart en intressant lösning. Dock så har jag varit med om en del fuffens då man gör om saker till bilder i Android, med skumma pixlar som artefakter osv. Men om det skulle gå att göra snyggt vore det helt klart riktigt bra. Mer än kanske 30-50 element kommer det aldrig att vara frågan om för min del :)

    Btw: hur lyckades du hamna på en dragning om Spotifys klient, sånt vill jag också gå på! ;)
     
  7. Kaj

    Kaj Senior Droid Medlem

    Blev medlem:
    12 jun 2009
    Inlägg:
    1 768
    Mottagna gillanden:
    44

    MINA ENHETER

    Google technology group stockholm har ibland föredrag/presentationer om Android. Om du bor i Stockholm tycker jag definitivt att du bör gå på några sådana :)

    Edit: Och ja, du måste skapa bilderna i rätt storlek så att de inte skalas.