Вам потрібно використовувати тему Theme.AppCompat (або нащадка) з цією діяльністю


1004

Android Studio 0.4.5

Документація на Android для створення користувацьких діалогових вікон: http://developer.android.com/guide/topics/ui/dialogs.html

Якщо ви хочете користувальницьке діалогове вікно, ви можете замість цього використовувати діалогове вікно Діяльність як діалог. Просто створіть активність і встановіть її тему на Theme.Holo.Dialog в <activity>елементі маніфесту:

<activity android:theme="@android:style/Theme.Holo.Dialog" >

Однак, коли я спробував це, я отримав наступне виняток:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity

Я підтримую наступне, і я не можу використовувати щонайменше більше 10:

minSdkVersion 10
targetSdkVersion 19

У моїх стилях є такі:

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

І в своєму маніфесті я маю це за діяльність:

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:theme="@android:style/Theme.Holo.Light.Dialog"
            android:name="com.ssd.register.Dialog_update"
            android:label="@string/title_activity_dialog_update" >
        </activity>

Створення такого діалогового вікна було те, що я сподівався зробити, оскільки я вже завершив макет.

Хтось може сказати мені, як я можу обійти цю проблему?


2
@Raghunandan, я новачок у цьому, але дивлячись на мої стилі, у мене є таке: <style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar"> І у мене є наступний імпорт: import android.support.v7 .app.ActionBarActivity; імпортувати android.support.v7.app.ActionBar; імпортувати android.support.v4.app.Fragment; Але не впевнений, що все це означає.
ant2009

10
Ви використовуєте AppCompatформу бібліотеки підтримки для підтримки панелей дій нижче рівня api 11. Просто використовуйте android:theme="@style/AppTheme" >для активності в маніфесті
Рагунандан

2
@ ant2009, щоб уточнити, що сказав @Raghunandan: у вашій AndroidManifest.xmlтемі, яку ви вказуєте для своєї діяльності, переважає тема, яку ви вказуєте для своєї програми. Видаліть android:themeрядок із <activity>тегу.
криптохроноконоліт

3
Це призведе до усунення помилки, але не призведе до того, де він хоче бути, що є діяльністю з діалоговою темою. Загальне правило полягає в тому, що якщо ви хочете, щоб у вашій діяльності була смужка дій, вона повинна мати тему AppCompat, а java-код повинен розширювати ActionBarActivity. Якщо у вас є діяльність, яка не потребує панелі дій (наприклад, тематична діалогова діяльність), ви можете застосувати до неї будь-яку тему, але код java повинен поширювати звичайну стару активність.
Bobbake4

1
Я думаю, що єдиною проблемою в цьому випадку є контекст, який ви надаєте для діалогу. Дивіться мою відповідь. stackoverflow.com/a/51574281/232727
Віталій А

Відповіді:


1124

Причиною виникнення цієї проблеми є те, що активність, до якої ви намагаєтесь застосувати тему діалогу, розширюється, ActionBarActivityщо вимагає застосування AppCompatтеми.

Оновлення : розширення AppCompatActivityтакож матиме цю проблему

У цьому випадку змініть спадщину Java з ActionBarActivityна Activityта залиште тему діалогу в маніфесті такою, якою вона є, без Theme.AppCompatзначення


Загальне правило полягає в тому, що якщо ви хочете, щоб ваш код підтримував старіші версії Android, він повинен мати AppCompatтему, а java-код повинен поширюватися AppCompatActivity. Якщо у вас є * діяльність, якій не потрібна ця підтримка, наприклад, ви дбаєте лише про останні версії та функції Android, ви можете застосувати до неї будь-яку тему, але код Java повинен поширюватися на старий Activity.


ПРИМІТКА: При переході з AppCompatActivity(або підкласу, ActionBarActivity) на Activity, також слід змінити різні виклики з "підтримкою" на відповідний виклик без "підтримки". Тож замість того getSupportFragmentManager, дзвоніть getFragmentManager.


6
op використовує appcompat, і в цьому випадку він повинен розширити ActionBarActivity, що показано в його заявах про імпорт із коментаря під запитанням.
Рагунандан

2
@Bursos Якщо ви говорите про те, коли створюєте новий проект в Android Studio, я здогадуюсь, що це помилка в стандартній конфігурації.
Bobbake4

2
@ Bobbake4, У мене однакова проблема, і це рішення для мене неможливо. Вся справа в тому, що я не можу розширити діяльність, тому що у мене є маса класів (цілий проект), які передаються на ActionBarActivity. Чи є якесь інше рішення проблеми? Thx
5er

6
@ 5er Якщо ваша Java використовує ActionBarActivity, тема повинна поширити Theme.AppCompat. Є кілька вбудованих тем, які розширюють Theme.AppCompat або ви можете розширити її самостійно та змінити. Без видалення батька ActionBarActivity ви не можете обійтись за допомогою Theme.AppCompat.
Bobbake4

26
У стилі <style name = "AppTheme" parent = "Theme.AppCompat.Light.DarkActionBar"> це вирішило мою проблему. :)
Harmeet Singh

545

Все, що вам потрібно зробити, - це додати android:theme="@style/Theme.AppCompat.Light"тег програми у AndroidManifest.xmlфайлі.


2
У коді ant2009 встановлено AppTheme як додаток до них, яке поширюється на нащадка Theme.AppCompat. Це має спрацювати. У мене була така ж проблема після оновлення до 5,0 на моєму пристрої і закінчилося налаштування @ style / Theme.AppCompat.Light як тема моєї діяльності. Щось тут не так ...
speedynomads

36
Це неправдива відповідь для Android Studio, хоча в деяких випадках вона буде працювати як швидке виправлення, коли обходить файли styles.xml. В Android Studio належним чином визначити тему - визначити їх у файлах styles.xml, і тоді файл файлу Android menifest просто посилатиметься на них та вибиратиме їх на основі версії Android, яку ви працюєте на своєму пристрої. Зазвичай він встановлений на Android: тему = "@ стиль / AppTheme" і це AppTheme відноситься до <ім'я стилю = батька "Theme.AppTheme" = "Theme.AppCompat.Light"> в styles.xml
Zeeshan

5
Це не дуже спрацювало для мене, тому що мої заголовки зникли, коли я використовував що-небудь, крім голо ...
AndyD273,

1
У цьому питанні також вдалося застосувати SnackBar. Це вирішило моє питання.
працював

2
@Martin, якщо ти схожий на мене, ви забули додати те саме ім'я стилю в загальний файл styles.xml, ніж ви ввели у файл (V21) styles.xml (без властивостей, характерних для V21). Якщо ви оголосили стиль у папці V21, а ваш пристрій має версію нижче. Він не може його знайти, тому звільняється виняток.
виїзд

275

Копіювання відповіді від @MarkKeen у коментарях вище, оскільки у мене була та сама проблема.

У мене була вказана помилка вгорі публікації, яка сталася після того, як я додав діалогове вікно сповіщення. Я маю всю релевантну інформацію про стиль в маніфесті. Мою проблему було усунено шляхом зміни посилання на контекст у програмі сповіщення - я змінив:

new android.support.v7.app.AlertDialog.Builder(getApplicationContext())

до:

new android.support.v7.app.AlertDialog.Builder(this)

І більше не буде проблем.


5
Так сталося і зі мною. Я просто намагався, і ваша відповідь справді спрацювала! Яка логіка працювати над цим? Я насправді не розумів.
kirtan403

6
Або якщо ви створюєте AlertDialog фрагмент, а не безпосередньо в діяльності, getActivity()скоріше використовуйте, а не thisяк було запропоновано вище, і проблема виправлена. Щодо того, чому я можу лише здогадуватися на старший код AlertDialog.Builder (xxx) або хотів, щоб інший тип передався, або був просто менш прискіпливий до того, що передано, тоді як нинішній Builder () дійсно дуже хоче активність. Оскільки Google вирішив приховати (видалити?) Документацію для старого коду, імовірно, намагаючись заохотити використання версії v7.app, я не знаю, як точно сказати.
Енн Ганн

Зробив протилежне тому, що пропонується. І це спрацювало: P. Дякую!
Harisewak

1
Це вирішують програму для мене, також ви б використовували getContext()замість того, thisщоб ви знаходитесь у ArrayAdapter або подібному класі адаптерів.
Ібрагім.H

1
Це справжнє рішення, яке я коли-небудь зустрічаю. ПОРАДА: Будь ласка, зазначте різницю в getApplicationContext () і це в цій меті.
празеєв

109

min sdk є 10. ActionBarдоступний з api рівня 11. Так що для 10 ви б використовували AppCompatз бібліотеки підтримки, для якої вам потрібно використовувати Theme.AppCompatабо нащадок того ж.

Використовуйте

android:theme="@style/Theme.AppCompat" >

Або якщо ви не хочете, щоб панель дій у верхній частині

android:theme="@style/Theme.AppCompat.NoActionBar">

Більше інформації @

http://developer.android.com/guide/topics/ui/actionbar.html

Редагувати:

Я, можливо, неправильно прочитав пост.

Здається, оп хоче бачити діалог із темою діяльності. Отже, як уже запропонував Bobbake4, подовжуйте Activityзамість цього ActionBarActivity.

Також подивіться @ Атрибути діалогу за посиланням нижче

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4_r1/frameworks/base/core/res/res/values/themes.xml/


Дякую за пропозицію. Я намагався це вже насправді. І у мене така ж проблема. Файл моїх стилів виглядає приблизно так: <style name = "AppTheme" parent = "Theme.AppCompat">
ant2009

@ ant2009 ти не будеш. Використовуйте тему з бібліотеки підтримки AppCompat для своєї діяльності
Рагунандан

Я не впевнений, чи правильно я додаю цю тему. Але ви маєте на увазі додавання наступного твердження про імпорт? імпортувати android.support.v7.appcompat. *; Однак я це спробував, і, можливо, я помиляюся, оскільки все-таки закінчився тим самим винятком.
ant2009

@ ant2009 ви ​​можете мати спеціальне діалогове вікно. Але ви хочете отримати повний екран діалогу?
Рагунандан

Я не хотів мати його на весь екран. Просто діалогове вікно. Однак проблема вирішена зараз. Bobbake4 правильно зрозумів. Дякуючи за ваші зусилля, ви дали корисну пораду. Однак я все ще плутаю всю цю бібліотеку підтримки та AppCompat.
ant2009

99

Якщо ви використовуєте контекст програми, наприклад:

final AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());

змініть його на такий тип діяльності:

final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

Те саме, якщо ви використовуєте LayoutInflater.from (<контекст заявки>), переконайтеся, що ви використовуєте контекст діяльності або наданий LayoutInflater, щоб він успадкував правильну Тему.
lbarbosa

1
Ваше рішення допомогло мені в моєму випадку. Чи можете ви пояснити, яка різниця між getApplicationContext () та MainActivity.this?
костябакай

перейдіть за цим посиланням: stackoverflow.com/questions/22966601/…
Даруш

9
для відображення діалогів вам потрібна активність, а не контекст
behelit

це рішення вирішує це
Мохамед Амін

45

Я відчував цю проблему, навіть незважаючи на те, що моя тема була AppCompatтемою, і моя активність була AppCompatActivity(або Activity, як було запропоновано у відповідях інших). Тож я почистив, відновив і повторно розпочав проект.

( Build -> Очистити проект; Build -> Rebuild Project; Run -> Run )

Це може здатися німим, але зараз це чудово працює !

Просто сподіваюся, що це допоможе!


1
Було точно таке ж повідомлення після додавання DialogFragment до активності AppCompat. Файл, недійсні кеші / перезавантаження виправлено це в крайньому випадку.
гальсинат

2
Я спробував майже всі відповіді в цій темі. але лише ця, здавалося б, «німа» відповідь спрацьовує. Дякую тобі!
Діка

27

Це те, що було вирішено для мене: замість того, щоб визначати тему в маніфесті, я визначав її onCreateдля кожної діяльності, яка розширюється ActionBarActivity:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.MyAppTheme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity_layout);
...
}

Ось MyAppThemeнащадок Theme.AppCompatі визначений у xml. Зауважте, що тему потрібно встановити до super.onCreateі setContentView.


1
Робоелектрик кидає NullPointerException на лінії setTheme, намагаючись завантажити ресурс. Будь-яка ідея чому?
Rhys Davis

@RhysDavis Складно сказати без сліду стека, але, можливо, він хоче спершу встановити setContentView? У такому випадку це виправлення не підійде для вас.
k29

19

перейдіть до своїх стилів і поставте батьківський

parent="Theme.AppCompat"

замість

parent="@android:style/Theme.Holo.Light"

Чому ми можемо це робити зі стандартною діяльністю. Чи Android не ставив панелі дій на стандартні заняття з ICS або Honecomb? Чи завжди нам потрібно використовувати ActionBarActivity, якщо ми встановлюємо свою мінімальну ціль для SDK ICS?
Andrew S

як побачити, яку тему нам слід використати з типом або функцією, яку ми використовуємо, тому що при імпорті у нас є всі типи тем
blackHawk

16

У моєму випадку у мене в каталозі res немає жодного файлу значень-v21. Потім я створив його і додав до нього наступні коди:

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

Я працював над своїм проектом на пристроях Oreo +, і тільки це працювало на мене.
Нішант Соні

16

Змініть тему потрібної діяльності. Це працює для мене:

<activity
            android:name="HomeActivity"
            android:screenOrientation="landscape"
            android:theme="@style/Theme.AppCompat.Light"
            android:windowSoftInputMode="stateHidden" />

14

У мене стався такий збій на пристроях Samsung, навіть якщо діяльність використовувала Theme.AppCompat . Основна причина була пов'язана з дивними оптимізаціями на стороні Samsung:

- if one activity of your app has theme not inherited from Theme.AppCompat
- and it has also `android:launchMode="singleTask"`
- then all the activities that are launched from it will share the same Theme

Моє рішення було лише видаленням android:launchMode="singleTask"


2
Я також наткнувся на це, я не підтвердив виправлення і не можу відтворити помилку .. але я бачу цю помилку в дикій природі лише на пристроях Samsung. Більшість, здається, вкорінені також, fwiw
danb

У мене була вказана помилка вгорі повідомлення та сталася після того, як я додав діалогове вікно сповіщення. Я маю всю релевантну інформацію про стиль в маніфесті. Мою проблему було усунено шляхом зміни посилання на контекст у програмі сповіщення - я змінив: новий android.support.v7.app.AlertDialog.Builder (getApplicationContext ()) на новий android.support.v7.app.AlertDialog.Builder (це ) і більше ніяких проблем ...
Марк Кін

Чи є у вас більше деталей чи посилань на Samsung щодо цієї оптимізації? Чи повинні всі заходи тоді впроваджувати Theme.AppCompat чи можуть бути заходи без теми?
ААверін

13

Якщо вам потрібно розширити ActionBarActivity, вам потрібно на своєму style.xml:

<!-- Base application theme. -->
<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->

Якщо ви встановите в якості основної теми програми як Android: Theme.Material.Light замість AppTheme.Base, тоді ви отримаєте помилку "IllegalStateException: Вам потрібно використовувати тему Theme.AppCompat (або нащадка) з цією діяльністю".


13

Просто роби

new AlertDialog.Builder(this)

Замість

new AlertDialog.Builder(getApplicationContext())

Робоче рішення! 30 хвилин, щоб дізнатися цю відповідь. Чому я використовую новий AlertDialog.Builder (getApplicationContext ())?
Еріх Гарсія

Буде корисно пояснити, який тип thisочікується.
Благо

12

У мене була така ж проблема, але вона вирішилася, коли я ставлю це на маніфест: android: topic = "@ style / Theme.AppCompat.

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name_test"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat">

        ...    

    </application>

10

У моєму випадку така проблема з’явилася, коли я намагався показати Діалог. Проблема полягала в контексті, я використовую getBaseContext (), який теоретично повинен повернути контекст діяльності, але виявляється, що його немає, або повертає контекст до будь-якої застосованої теми.

Тому я просто замінив getBaseContexts () на " це ", і тепер він працює як очікувалося.

        Dialog.showAlert(this, title, message,....);

я проходив getApplicaitonContext (), але твій зробив трюк
Jeeva

9

У мене була робота з темою, яка <android:theme="@android:style/Theme.Dialog">використовується для показу діалогового вікна в моєму додаткуWidget, і у мене була така ж проблема

я вирішив цю помилку, змінивши код діяльності, як показано нижче:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.Theme_AppCompat_Dialog); //this line i added
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dialog);
}

2
Це була пряма відповідь, яка спрацювала на мене без усієї складності та невідповіді прийнятого.
Cory Trese


8

Переконайтесь, що ви використовуєте контекст діяльності під час створення нового діалогового вікна сповіщення, а не контексту програми або базового сценарію.


7

У мене була і ця проблема, і те, що я зробив, щоб її виправити, І все ще використовую тему Holo, щоб зробити наступні кроки:

спочатку я замінив цей імпорт:

import android.support.v7.app.AppCompatActivity;

з цим:

import android.app.Activity;

потім змінив моє розширення з:

public class MyClass extends AppCompatActivity {//...

до цього:

public class MyClass extends Activity {//...

А також довелося змінити цей імпорт:

import android.support.v7.app.AlertDialog;

до цього імпорту:

import android.app.AlertDialog;

а потім ви можете використовувати тег теми в маніфесті на рівні активності:

android:theme="@android:style/Theme.Holo.Dialog" />

і нарешті, (якщо у вас немає інших класів у вашому проекті, який повинен використовувати v7 appCompat), ви можете чистити та відновлювати проект або видалити цей запис у файлі збірки gradle на рівні програми:

compile 'com.android.support:appcompat-v7:23.2.1'

якщо у вашому проекті є інші класи, які повинні використовувати v7 appCompat, тоді просто очистіть і відновіть проект.


6

Ви прийшли до цього , тому що ви хочете застосувати матеріал дизайн у вашому стилі теми в попередніх версіях SDK до 21 ActionBarActivityвимагає , AppThemeтак що якщо ви хочете , щоб запобігти власній настройку про вашому AppTheme, тільки ви повинні змінити в своїй styles.xml (попередня до sdk 21), таким чином, можна успадкувати для програми App Compat.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">

для цього:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

6
Зробив це. Проблема все-таки є. Тож у цьому є більше.
Мартін

6

Змініть батьківський стиль теми на

 parent="Theme.AppCompat"

Це працювало для мене ...


6

У вас є багато рішень цієї помилки.

  1. Ви повинні використовувати Activity або FragmentActivity замість ActionbarActivity або AppCompatActivity

  2. Якщо ви хочете використовувати ActionbarActivity або AppCompatActivity , вам слід змінити стилі.xml Theme.Holo.xxxx на Theme.AppCompat.Light (при необхідності додати в DarkActionbar )

Якщо вам не потрібні розширені атрибути про панель дій чи AppCompat, вам не потрібно використовувати панель дій або AppCompat .


6

В Android маніфесті просто змініть тему діяльності на AppTheme, як слідкуйте фрагмент коду

<activity
  android:name=".MainActivity"
  android:label="@string/app_name"
  android:theme="@style/AppTheme">
</activity>

<активність android: name = ". MainActivity" android: label = "@ string / app_name" android: topic = "@ style / AppTheme"> </activity>
shikha

6

Це коли ви хочете, щоб AlertDialog у фрагменті

            AlertDialog.Builder adb = new AlertDialog.Builder(getActivity());
            adb.setTitle("My alert Dialogue \n");
            adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                  //some code

            } });
            adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                 dialog.dismiss();

                } });
            adb.show();

6

На моєму досвіді проблема була в контексті, де я показав свій діалог. Всередині кнопки натисніть, щоб створити AlertDialog таким чином:

builder = new AlertDialog.Builder(getApplicationContext());

Але контекст був невірним і спричинив помилку. Я змінив його, використовуючи контекст програми таким чином:

У розділі оголосити:

Context mContext;

у методі onCreate

mContext = this;

І нарешті в коді, де мені потрібен AlertDialog:

start_stop = (Button) findViewById(R.id.start_stop);
start_stop.setOnClickListener( new View.OnClickListener()
     {
                @Override
                public void onClick(View v)
                {
                    if (!is_running)
                    {
                        builder = new AlertDialog.Builder(mContext);
                        builder.setMessage("MYTEXT")
                                .setCancelable(false)
                                .setPositiveButton("SI", new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                    Task_Started = false;
                                    startTask();
                                    }
                                })
                                .setNegativeButton("NO",
                                        new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                        dialog.cancel();
                                    }
                                });
                        AlertDialog alert = builder.create();
                        alert.show();
                    }
            }
        }

Це рішення для мене.


Ви неправі, що не слід використовувати контекст програми так, як це було у вас в минулому. Що ви зробили, це використовувати Активність як контекст. Однак це не контекст програми чи підклас цього додатка. Тому неправильно говорити, що ви використовуєте контекст програми по-іншому.
Ход

5

Цей працював на мене:

<application
           android:allowBackup="true"
           android:icon="@mipmap/ic_launcher"
           android:label="@string/app_name"
           android:theme="@style/AppTheme" >
           <activity
               android:name=".MainActivity"
               android:label="@string/app_name"
               android:theme="@style/Theme.AppCompat.NoActionBar">

               <intent-filter>
                   <action android:name="android.intent.action.MAIN" />

                   <category android:name="android.intent.category.LAUNCHER" />
               </intent-filter>
           </activity>
</application>

5

Ваша активність розширює ActionBarActivity, що вимагає застосування AppCompat.theme . Перехід від ActionBarActivity до Activity або FragmentActivity , це вирішить проблему.

Якщо ви не використовуєте панель дій, виконайте вказані нижче дії.

android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" 

5

У мене була ця сама проблема. Тому що я створював спеціальний ящик для навігації. Але я забуваю згадати тему у своєму маніфесті, як це

android:theme="@style/Theme.AppCompat.NoActionBar"

Як тільки я додав вищезгадану тему до свого маніфесту, це вирішило проблему.


4

Швидке рішення.

Змініть базовий батько теми в styles.xml

Замінити з

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

до

<style name="AppTheme" parent="Theme.AppCompat">

не допомагає мені, виняток все ж спрацьовує
Євген Гр. Філіппов

3

Це рішення спрацювало на мене.

Бібліотека дизайну залежить від Support v4 та AppCompat Бібліотеки підтримки, тому не використовуйте іншу версію для appcompat та бібліотеки дизайну в gradle.

використання

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.0.0'

замість

 compile 'com.android.support:appcompat-v7:23.0.0'
 compile 'com.android.support:design:23.1.0'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.