2014-11-18 2 views
2

Кто-нибудь знает, как изменить цвет полос прокрутки в Theme.Material для чего-то другого, кроме colorControlNormal? Если вы заходите и смотрите в topic_material, вы можете увидеть, что есть определенные атрибуты прокрутки, но нет прямого способа переопределить цвет полосы прокрутки, а всего можно выделить всего. Для моих целей я хочу, чтобы строка прокрутки была выбита так же, как та, что используется системой (тот же самый 9-патч), я просто хочу, чтобы ее цвет отличался от цвета colorControlNormal.Изменить цвет прокрутки Android 5.0

ответ

2

Я обнаружил, что вы можете переопределить всю ширину полосы прокруткиThumbVertical или scrollbarThumbHorizontal в вашей собственной теме на другую возможность рисования; внутри вас AppTheme это будет выглядеть так:

<style name="AppTheme" parent="@android:style/Theme.Material"> 
    <item name="android:scrollbarThumbVertical">@drawable/scrollbar_handle_material</item> 
</style> 

, а затем в папке вытяжки-V21 вы будете иметь тот же XML найти здесь из системы:

<?xml version="1.0" encoding="utf-8"?> 
<!-- Copyright (C) 2014 The Android Open Source Project 
Licensed under the Apache License, Version 2.0 (the "License"); 
you may not use this file except in compliance with the License. 
You may obtain a copy of the License at 
     http://www.apache.org/licenses/LICENSE-2.0 
Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an "AS IS" BASIS, 
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
See the License for the specific language governing permissions and 
limitations under the License. 
--> 

<nine-patch xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/scrollbar_handle_mtrl_alpha" 
    android:tint="#A4A4A4" /> 

где вы бы установить цвет оттенка цвет, который вы хотите, чтобы ваши полосы прокрутки находились на устройствах более 5+. Поскольку Google не делает доступным публичный ресурс scrollbar_handle_mtrl_alpha доступным, вам нужно пойти и вытащить его из PATH_TO_ANDROID_SDK/platform/android-21/data/res/drawable-xxhdpi/scrollbar_handle_material_alpha вместе со всеми другими значениями плотности, которые вы хотите предоставить. Я поставил вытяжку-xxhdpi актива здесь для справки:

enter image description here

Пожалуйста, дайте мне знать, если вы, ребята, найти какой-либо другой способ сделать это без того, чтобы переопределить так много вещей.

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