Удалить полосу прокрутки трек из ScrollView в Android


мое приложение для Android имеет основной веб-вид (HTML, загруженный из локального ресурса), который я хочу использовать по всей ширине экрана и иметь возможность прокручивать (по вертикали). Поэтому я завернул WebView в ScrollView в моем макете XML, но независимо от того, что я делаю, я не могу удалить дорожку полосы прокрутки с правой стороны прокрутки. Еще хуже, я не могу, кажется, быть в состоянии изменить цвет фона полосы прокрутки дорожки.

трек занимает около 10dp или около того, что создает проблемы для HTML в WebView. Я бы хотел, чтобы полоса прокрутки появилась сверху веб-вид (стиль iPhone, Если вы знаете, что я имею в виду). Теперь вы можете сказать: "почему бы вам не изменить свой HTML на 10px тоньше?- это мой запасной вариант, но я бы предпочел не делать этого.

вот соответствующий фрагмент макета XML, вы увидите, что я пробовал каждый атрибут android: etc, который я мог найти:

<ScrollView 
  android:id="@+id/deal_web_view_holder"
  android:layout_below="@id/clock_bar_holder"
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent"
  android:fillViewport="false"
  android:fadingEdge="none"
  android:background="#02a7e9"
  android:scrollbars="none"
  android:scrollbarSize="0dp"
  android:paddingRight="0dp"
  android:scrollbarAlwaysDrawVerticalTrack="false"
  android:scrollbarStyle="insideOverlay"
  android:scrollbarTrackVertical="@drawable/scrollbar_track_vertical" >
    <WebView
       android:id="@+id/deal_web_view"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"/>  
</ScrollView>

Я ориентируюсь на платформу 2.1 / API lvl 7, действительно просто имея дело с дисплеями нормального размера, mdp, hdp и xhdp.

5 86

5 ответов:

чтобы удалить полосу прокрутки из представления (и его подкласса) с помощью xml:

android:scrollbars="none"

http://developer.android.com/reference/android/view/View.html#attr_android:scrollbars

попробуйте это ваша деятельность onCreate:

ScrollView sView = (ScrollView)findViewById(R.id.deal_web_view_holder);
// Hide the Scollbar
sView.setVerticalScrollBarEnabled(false);
sView.setHorizontalScrollBarEnabled(false);

http://developer.android.com/reference/android/view/View.html#setVerticalScrollBarEnabled%28boolean%29

Я немного смущен, почему вы ставите WebView на ScrollView в первую очередь. А WebView имеет свою собственную встроенную систему прокрутки.

Что касается вашего фактического вопроса, если вы хотите Scrollbar чтобы показать на вершине, вы можете использовать

view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or   
android:scrollbarStyle="insideOverlay"

решена моя проблема с добавлением этого в мой Listview

android:scrollbars="none"

эти решения не удалось в моем случае с относительной компоновкой и если клавиатура открыта android:scrollbars="none" & android:scrollbarStyle="insideOverlay" тоже не работает.

панель инструментов исчезла, моя кнопка готово исчезла.

not Working

этот работает на меня

myScrollView.setVerticalScrollBarEnabled(false);