2016-05-01 4 views
1

У меня есть такой макет. Здесь я устанавливаю textColor в красный цвет.android - textView textColor не действует на устройство

Когда я запускаю это на эмуляторе, все работает так, как ожидалось. Однако, когда я запускаю устройство, textColor является белым. Он работал на устройстве.

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

 <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="EXAMPLE" 
      android:textColor="@color/red" 
      android:textSize="60sp" /> 

В чем может быть проблема?

android { 
    dexOptions { 
     javaMaxHeapSize "6g" 
    } 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 
    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
    } 
    defaultConfig { 
     applicationId "someID" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true 
    } 
    productFlavors { 
     dev { 
      minSdkVersion 15 
     } 
     prod { 
      minSdkVersion 15 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
} 
+0

Какие версии Android работают на обоих устройств и эмулятор? Это может произойти, если у вас разные XML-файлы макета для разных Android API. Если на физическом устройстве и эмуляторе работают разные уровни API, чем, возможно, TextView в макете xml, который нацелен на определенную версию Android, установлен неправильно, а макет, загруженный в эмулятор, написан так, как вы описали. –

+0

Мой эмулятор Android 6.0 api 23. У меня есть GalaxyS6 как устройство, которое не может быть api 23 как его Android 5.x. Я обновил сообщение с моей конфигурацией gradle. Пожалуйста, предоставьте указателям, чтобы исправить это. – GJain

+0

Является ли TextView в файле макета xml, у которого у вас несколько версий? Смотрите это [скриншот] (http://imgur.com/MjklfaB), чтобы узнать, о чем я говорю. –

ответ

1

Я решил эту проблему, очистив все каталоги сборки и очистив/перестроил.

Я также удалил продуктflavors/devDebug из .gradle. Это должно было вызвать вопрос, как я был настроен на minSDKVersion 15, и я пытался запустить на 22.

С Android документы:

android { 
    productFlavors { 
     // Define separate dev and prod product flavors. 
     dev { 
      // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin 
      // to pre-dex each module and produce an APK that can be tested on 
      // Android Lollipop without time consuming dex merging processes. 
      minSdkVersion 21 
     } 
     prod { 
      // The actual minSdkVersion for the application. 
      minSdkVersion 14 
     } 
    } 
      ... 
    buildTypes { 
     release { 
      runProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
               'proguard-rules.pro' 
     } 
    } 
} 
Смежные вопросы