3

У меня есть PreferenceFragment внутри действия. PreferenceFragment имеет много элементов и может прокручиваться вниз. Чтобы убедиться, что пользователь заметил это, я хотел бы заставить отображать полосу прокрутки.Android: Форсировать отображение полосы прокрутки фрагмента

Я прочитал, что это обычно делается с:

setScrollbarFadingEnabled(false) 

или

android:fadeScrollbars="false" 

Это мне не ясно, как использовать это свойство на фрагменте (если это возможно). .

+0

Ищет ответ :) –

ответ

0

Когда представление было создано в PreferenceFragment, вы можете использовать этот метод:

GetView() findViewById (android.R.id.list) .setScrollbarFadingEnabled (ложь);

Например:

@Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 
     view.findViewById(android.R.id.list).setScrollbarFadingEnabled(false); 
     //... 
    } 
+0

Это не работает для подклассов PreferenceFragment. Есть идеи? – nmr

+0

К счастью, есть и другие способы сделать это: #setScrollBarFadeDuration (Integer.MAX_VALUE); 'и' # .setScrollBarDefaultDelayBeforeFade (Integer.MAX_VALUE); ' – nmr

0

Вы можете использовать android:fadeScrollbars="false" в вашей темы.

Или, если вы не используете собственную тему, просто сделать один и сделать текущий тему родителю

<style name="SettingsTheme" parent="android:Theme.Black.NoTitleBar.Fullscreen"> 
    <item name="android:fadeScrollbars">false</item> 
</style> 

Теперь просто назвать свою «SettingsTheme» в вашем файле манифеста для той деятельности, где ваш preferenceFragment является

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