Intereting Posts
AppCompatActivity как диалог без заголовка Как всегда отображать вкладки ActionBar ниже ActionBar в Android Ткань / Crashlytics Android добавляет строковый ресурс для Apikey вызывает Crashlytics Developer Tools Error Невозможно найти класс символов для сгенерированного кода Butter Knife Кинжал v2: ввести 2 разных области действия в один объект Обнаружение объекта для Android с помощью tesseract или OpenCV Android Lollipop знает, есть ли приложение в качестве доступа к статистике использования Не удалось найти цель с хеш-строкой 'android-25' Мультимедийный энкодер Android: raw h264 to mp4 container Android, org.simpleframework.xml Исключение стойкости, элемент «foo» уже используется Передача jsonarray из одной активности в другую Какими должны быть причины использования OpenSL ES вместо AudioTrack в Android? TransformException дубликат записи для common.annotations.Beta MQTT Security – как запретить пользователям, подписывающимся на темы? Проблема с панелью Android Toolbar

Могу ли я настраивать глобальные пользовательские стили приложения для виджета для поддержки Android?

Я хотел бы определить пользовательские стили для некоторых виджетов из Android Support Design (например, AppBarLayout, TextInputLayout, FAB …) и настроить эти стили по умолчанию для моего проекта, как я могу сделать с EditText и другими системными виджетами. Например:

<style name="Theme.MyApp" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:editTextStyle">@style/Theme.MyApp.EditText</item> </style> <style name="Theme.MyApp.EditText" parent="Widget.AppCompat.EditText"> <item name="android:textColor">@color/my_awsome_edittext_color</item> <item name="android:layout_height">wrap_content</item> </style> 

Моя текущая проблема настроена на повышение AppBarLayout elevation = "0dp" для определенного Activity, у которого есть своя тема. Выяснив исходный код AppBarLayout для Android Support Design, я узнал, что у него есть тема Widget.Design.AppBarLayout , поэтому я сделал:

 <style name="Theme.MyApp.AppBarLayout" parent="Widget.Design.AppBarLayout"> <item name="elevation">0dp</item> </style> 

Но я не нашел атрибут, чтобы установить его в моей Theme.MyApp , например, android:editTextStyle . И это верно для TextInputLayout, FAB и так далее. Эти виджеты настраивают свои темы непосредственно из ресурса:

 TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AppBarLayout, R.style.Widget_Design_AppBarLayout); 

Итак, действительно нет способа определить стили в этой форме? Если нет, есть какие-либо технические причины, чтобы не предоставлять эту функцию?

Solutions Collecting From Web of "Могу ли я настраивать глобальные пользовательские стили приложения для виджета для поддержки Android?"