Я новичок в разработке Android, но у меня возникла ошибка, когда я имитирую и генерирую apk, на моем устройстве с api 26 все работает нормально, но на любом другом устройстве с другим api оно неожиданно закрывается ... кодирование, эмуляция и генерация части apk по частям кода Я заметил, что android.support.design.button.MaterialButton делает это неожиданное закрытие, я не понимаю, почему эта ошибка, если у меня есть образец кода, который работает на любом устройстве .

Здесь изображения моего приложения Gradle и где я применяю materialButton

[https://i.stack.imgur.com/dNo5L.png] [ 1]

[https://i.stack.imgur.com/FUEq0.png] [ 2]

Это мое приложение Gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 28
defaultConfig {
    applicationId "com.ts.ts.ts"
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    vectorDrawables.useSupportLibrary = true
}


buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}}



dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//noinspection GradleCompatible
api 'com.android.support:design:28.0.0'



implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
implementation 'com.journeyapps:zxing-android-embedded:2.0.1@aar'
implementation 'com.android.volley:volley:1.1.1'

implementation 'com.google.code.gson:gson:2.8.2'

implementation 'com.android.support:support-v4:28.0.0'
implementation 'android.arch.lifecycle:extensions:1.1.1'
implementation 'com.google.android.gms:play-services-plus:16.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}

И это xml, где я применяю materialButton

<android.support.design.button.MaterialButton
            android:id="@+id/cancel_button"
            style="@style/Widget.Shrine.Button.textButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="12dp"
            android:layout_marginRight="12dp"
            android:layout_toStartOf="@id/next_button"
            android:layout_toLeftOf="@id/next_button"
            android:text="@string/shr_button_cancel" />

Пожалуйста, помогите мне!!!!

0
Gabriela Yumie 9 Ноя 2018 в 16:01

1 ответ

Лучший ответ

В файле styles.xml измените основу темы приложения на тему из библиотеки материального дизайна. Например:

<style name="AppTheme" parent="Theme.MaterialComponents.Light">

1
Piotr Aleksander Chmielowski 9 Ноя 2018 в 13:17