2013-06-20 2 views
4

Я хочу, чтобы увидеть следующий большой палец скроллбар:Android ListView палец ScrollBar

http://www.androidpatterns.com/uap_pattern/scroll-thumb

Что я вижу это:

enter image description here

Мой XML Макет:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="xxaassss" 
     ads:loadAdOnCreate="true" > 
    </com.google.ads.AdView> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:divider="#b5b5b5" 
     android:dividerHeight="1dp" 
     android:listSelector="@drawable/list_selector" /> 

</LinearLayout> 

Моего Java код в OnCreate класса активности (я простирающийся от класса активности и не ListActivity):

 super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
ListView list=(ListView)findViewById(R.id.list); 
ArrayList<HashMap<String, String>> categoriesList = new ArrayList<HashMap<String, String>>(); 

     for(int i=0;i<119;i++) { 
      HashMap<String, String> map = new HashMap<String, String>(); 
      map.put(KEY_ID, String.valueOf(i)); 
      //map.put(KEY_TITLE, "hello"); 
      map.put(KEY_TITLE, Prayer.tip.getNthLine(i, true).replace("~", "")); 
      map.put(KEY_ARTIST, ""); 
      map.put(KEY_DURATION, ""); 
      map.put(KEY_THUMB_URL, String.valueOf(getResources().getIdentifier("img" + i, "drawable", getPackageName()))); 
      categoriesList.add(map); 

     } 
     LazyAdapter adapter=new LazyAdapter(this, categoriesList); 
     list.setAdapter(adapter); 

     list.setFastScrollEnabled(true); 

Я не писал код LazyAdapter, как я думаю, что это не имеет ничего общего с дизайном этой быстрой панели прокрутки большого пальца. Если потребуется, я тоже могу отправить этот код.

+0

http://stackoverflow.com/questions/3071068/change-scrollbar-color-in-android –

+1

Вы видите этот палец прокрутки, потому что вы используете приложение на Android 4.0 или выше. Большой палец в ссылке - от Android 2.3. Вы можете получить это изображение и использовать его из ссылки @Brijesh, опубликованной выше. – Milan

ответ

6

Изменить код XML как этот

<com.google.ads.AdView 
    android:id="@+id/adView"`enter code here` 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="xxaassss" 
    ads:loadAdOnCreate="true" > 
</com.google.ads.AdView> 

<ListView 
    android:id="@+id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:divider="#FFF" 
    android:fadeScrollbars="false" 
    style="@style/CustomTheme" 
    android:scrollX="0px" 
    android:scrollY="0px" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:scrollbarSize="20dp" 
    android:scrollbarStyle="outsideOverlay" 
    android:scrollbars="vertical" /> 

и в вашем стиле

<style name="CustomTheme" parent="android:Theme"> 
<item name="android:scrollbarTrackVertical">@drawable/scroll_track</item> 
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item> 

как в очевидном

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme">

+1

Я добавил этот код, но сообщается об ошибке в styles.xml. Есть ли место, где я могу получить scroll_track и scroll_thumb images – Sandeep

1

Просто измените android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb "и создайте чертеж в соответствии с вашими потребностями.

Как

<ListView android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb" /> 

в Drawable:

<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <gradient android:angle="0" android:endColor="#6699FF" android:startColor="#3333FF" /> 
    <corners android:radius="1dp" /> 
    <size android:width="1dp" /> 
</shape> 

Я думаю, что это то, что вы хотите!

+1

, это не сработало для меня –

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