Problem mit der Scrollbar einer Listview

Micka

Micka

Fortgeschrittenes Mitglied
1
Hallo,
ich arbeite aktuell an einer App die unter Anderem eine Listview zum anzeigen von Daten verwendet. Angezeigt werden zu beginnt 10000 "zeilen" scrollt man bis zum Ende werden weitere 10000 hinzugefügt. Wofür das ganze kann ich leider nicht verraten da der Inhalt Sensibel ist. Zum Glück hat das aber auch nichts mit dem Problem zu tun. Um zu testen ob denn wirklich neue Einträge geladen werden muss ich bisher sehr mühsam ans Ende scrollen. Einfacher wäre das mit dem Scrollbalken rechts am Rand. Der ist aber leider so klein das man ihn kaum zu packen bekommt. Nun wollte ich das mittels des Attributs
Code:
android:scrollbarSize="100dip"
gerne ändern. Leider bewirkt das Attribut aber keine Änderung.

Ich habe darauf schon gegoggelt und habe festgestellt das leider viele dieses Problem haben. Eine funktionierende Lösung habe ich leider nicht gefunden. Hat jemand von euch eine Idee wie ich die Scrollbar vergrößern kann?

Hier mein Code des Layouts:

Code:
<?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">

    <TextView
        android:id="@+id/tv_showdb_title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="DB"
        android:textSize="30dp"
        android:textStyle="bold"
        android:gravity="center"/>
    
    <ListView
        android:id="@+id/lv_dbValues"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tv_showdb_title"
        android:scrollbarSize="100dip"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical"
        />


</RelativeLayout>
Außerdem hänge ich noch einen Screenshot an der die aktuelle Ansicht der Listview zeigt.
 

Anhänge

  • Screenshot_2016-01-20-11-47-59.png
    Screenshot_2016-01-20-11-47-59.png
    36,5 KB · Aufrufe: 214
Vllt die attribute mal anders anordnen. Die XML wird ja Zeile von Zeile von oben nach unten durchgegangen. Vllt kommt da etwas in Konflikt mit den Einstellungen und früher gesetzte Attribute werden überschrieben?!

oder halt weiß ich nciht statt "dip" mal "dp" versuchen. More Resource Types | Android Developers

Früher war dip noch aufgelistet. jetzt nciht emhr als ich grad anchgeguckt habe. Vllt haben die es rausgenommen und möchten lieber dass wir nur noch dp verwendet obwohl beides das gleiche ist/war
 
  • Danke
Reaktionen: Micka
Jaiel schrieb:
Vllt die attribute mal anders anordnen. Die XML wird ja Zeile von Zeile von oben nach unten durchgegangen. Vllt kommt da etwas in Konflikt mit den Einstellungen und früher gesetzte Attribute werden überschrieben?!
Habe das Layout nun mal abgeändert, leider immernoch kein Erfolg. Danke für den Hinweis.
Code:
<?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">

    <TextView
        android:id="@+id/tv_showdb_title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="DB"
        android:textSize="30dp"
        android:textStyle="bold"
        android:gravity="center"/>
    
    <ListView
        android:id="@+id/lv_dbValues"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tv_showdb_title"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical"
        android:smoothScrollbar="false"
        android:scrollbarSize="100dip"
        />


</RelativeLayout>
 
Also wie gesagt versuch es mal bitte mit "dp" statt "dip".

In den Docs steht nämlich nicht drin dass "dip" unterstützt wird:

android:scrollbarSize
Sets the width of vertical scrollbars and height of horizontal scrollbars.

Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol scrollbarSize.

Als letzte Lösung sollte ein in-Code aufruf zu setScrollbarSize(int) die Rettung sein.

Einfach eine Referenz holen mit getWidth() die Breite von der listView abfragen und dieses dann vllt /10 oder was auch immer dir vorschwebt der Methode als Parameter übergeben.
 
Jaiel schrieb:
Also wie gesagt versuch es mal bitte mit "dp" statt "dip".

In den Docs steht nämlich nicht drin dass "dip" unterstützt wird:
Habe ich nun auch probiert. Leider auch kein Erfolg.

Code:
<?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">

    <TextView
        android:id="@+id/tv_showdb_title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="DB"
        android:textSize="30dp"
        android:textStyle="bold"
        android:gravity="center"/>
   
    <ListView
        android:id="@+id/lv_dbValues"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tv_showdb_title"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical"
        android:smoothScrollbar="false"
        android:scrollbarSize="100dp"
        />


</RelativeLayout>
 
Versuchs im Code so wie ich noch hinzugefügt habe am Ende meines letzten Postings

Wenn du es gelöst hast wäre es nett wenn du es hier posten könntest. Mit den Attributen in XML gibt es ja zu hauf Probleme und gerade dieses ist ja wohl nciht erst seit gestern in Android :/
 
Jaiel schrieb:
Versuchs im Code so wie ich noch hinzugefügt habe am Ende meines letzten Postings

Wenn du es gelöst hast wäre es nett wenn du es hier posten könntest. Mit den Attributen in XML gibt es ja zu hauf Probleme und gerade dieses ist ja wohl nciht erst seit gestern in Android :/
In meinem Code habe ich nun folgendes probiert, leider ebenfalls ohne Erfolg.
Code:
private ListView mLV;
...
mLV = (ListView) findViewById(R.id.lv_dbValues);
...
mLV.setScrollBarSize(mLV.getWidth()/10);
 
Das Problem habe ich nun in den Griff bekommen. Was fehlte waren die Attribute
android:fastScrollEnabled="true"
android:fastScrollAlwaysVisible="true"
 
Zuletzt bearbeitet:

Ähnliche Themen

A
Antworten
10
Aufrufe
1.006
swa00
swa00
D
Antworten
9
Aufrufe
1.731
jogimuc
J
D
  • Data2006
Antworten
14
Aufrufe
449
jogimuc
J
Zurück
Oben Unten