¿Por qué CustomViews externas tienen el locking rojo?

Recientemente agregué este repository de GitHub en mi proyecto de Android, así que he procedido a agregar mis dependencies de gradle, que se ve así:

dependencies { testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.github.rey5137:material:1.2.2' compile 'com.android.support:cardview-v7:23.1.1' compile 'com.android.support:design:23.1.1' } 

Y cuando pongo una vista personalizada si uso una con el greenlock está bien, pero cuando pongo una con el networkinglock me da el error de "Problemas de reproducción".

Aquí está la imagen de Cómo se ve cuando lo selecciono de las Vistas personalizadas

¿Qué debería hacer?

No puedes hacer nada usando esa dependencia. Podemos tomar un ejemplo:

 InternalEditText in EditText 

Esto significa que InternalEditText es una class interna de EditText. El locking rojo significa que es una class privada, por lo que la estructura de la class EditText es:

 public class EditText { private class InternalEditText { } } 

Entonces no puedes acceder a esa class directamente.

Soluciones

  • Reflexión: no se recomienda si puede solucionar el problema
  • Bifurcación del proyecto: puedes crear una bifurcación del proyecto en GitHub y cambiar esas classs en classs públicas

Por cierto, ¿por qué quieres usar esas classs privadas internas? Ese proyecto es útil para usar el widget material en dispositivos pre lollipop, por lo que para EditText (por ejemplo) puede usar com.rey.material.widget.EditText