Заметил что при создании различных типов Activity при создании приложения, к ним прикручиваются разные стили для чекбоксов и спиннеров, при создании Активити типа диалог там и вовсе свой стиль у элементов. Где эти стили прописываются в коде и как их на всех типах активити одинаковыми сделать?
Стили указываются в манифесте при объявлении активити с помощью атрибута android:theme
В данном манифесте они указаны в теге application и в каждом теге activity.
В атрибутах указаны ссылки на ресурс styles
Если в теге activity не указан атрибут android:theme, то берётся родительское значение этого атрибута (т.е. значение android:theme тега application)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.stackoverflow.ru">
<application
android:theme="@style/AppTheme">
<activity
android:name=".activity.ScrollingActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.TagsActivity"
android:label="@string/title_activity_tags"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".activity.GalleryActivity"
android:label="@string/title_activity_gallery"
android:theme="@style/AppTheme.NoActionBar"></activity>
</application>
</manifest>
Сами описания стилей хранятся в ресурсах (/res/values/styles.xml например)
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
Основная тема приложения наследуется от темы Theme.AppCompat.Light.DarkActionBar с помощью атрибута parent
Внутри тега style переопределяются свойства темы
Подробнее о стилях и темах читайте в руководстве:
https://developer.android.com/guide/topics/ui/themes.html
Также тему Вы можете выбрать с помощью графического интерфейса в Android Studio.
Для этого Перейдите к редактированию активити и выберите вкладку Design.
В панели сверху будет кнопка для выбора темы(обведена красным маркеорм на изображении)
При клике на неё появится окно выбора.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости