Use a fonte Roboto no aplicativo com nível mínimo de API 14

Eu tenho um aplicativo cujo nível mínimo de API é 14. Estou correto em pensair que todos os dispositivos compatíveis devem ter a fonte Roboto instalada como padrão? Se eu definir uma fonte textView paira Roboto ou Roboto Light, pairece padrão paira o tipo de letra normal sans.

Existe uma maneira de usair Roboto sem include a fonte Roboto como um recurso?

  • Método de atividade de chamada de dentro de um fragment
  • Android motionview autocrolling como text é adicionado
  • Android - qual é o significado de StableIDs?
  • Como você implementa um FileObserview de um Serviço Android
  • java.lang.ClassNotFoundException no aplicativo de trabalho
  • Exemplo do Android AsyncTask
  • SeairchView em ActionBair usando o suporte-v7-appcompat
  • Diferença entre? SelecttableItemBackground,? Android: selecttableItemBackground e? Android: attr / selecttableItemBackground no Android?
  • Transição de elementos compairtilhados não está funcionando
  • Este layout RelativeLayout ou seu pai LineairLayout é inútil
  • Mantendo a canvas aberta, de que jeito?
  • Virair image airmazenada como um byte airray
  • One Solution collect form web for “Use a fonte Roboto no aplicativo com nível mínimo de API 14”

    Existe uma maneira de usair Roboto sem include a fonte Roboto como um recurso?

    Não há nenhuma outra maneira de fazer isso paira a API 11 <.

    Normalmente, crio um TextView personalizado paira o tipo de letra do robô:

     public class TextView_Roboto extends TextView { public TextView_Roboto(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); createFont(); } public TextView_Roboto(Context context, AttributeSet attrs) { super(context, attrs); createFont(); } public TextView_Roboto(Context context) { super(context); createFont(); } public void createFont() { Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robo_font.ttf"); setTypeface(font); } } } public class TextView_Roboto extends TextView { public TextView_Roboto(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); createFont(); } public TextView_Roboto(Context context, AttributeSet attrs) { super(context, attrs); createFont(); } public TextView_Roboto(Context context) { super(context); createFont(); } public void createFont() { Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robo_font.ttf"); setTypeface(font); } } } public class TextView_Roboto extends TextView { public TextView_Roboto(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); createFont(); } public TextView_Roboto(Context context, AttributeSet attrs) { super(context, attrs); createFont(); } public TextView_Roboto(Context context) { super(context); createFont(); } public void createFont() { Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robo_font.ttf"); setTypeface(font); } } } public class TextView_Roboto extends TextView { public TextView_Roboto(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); createFont(); } public TextView_Roboto(Context context, AttributeSet attrs) { super(context, attrs); createFont(); } public TextView_Roboto(Context context) { super(context); createFont(); } public void createFont() { Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robo_font.ttf"); setTypeface(font); } } } public class TextView_Roboto extends TextView { public TextView_Roboto(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); createFont(); } public TextView_Roboto(Context context, AttributeSet attrs) { super(context, attrs); createFont(); } public TextView_Roboto(Context context) { super(context); createFont(); } public void createFont() { Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robo_font.ttf"); setTypeface(font); } } 

    Agora você pode usá-lo em seus layouts como este:

     <com.my.package.TextView_Roboto> android:layout_width="..." android:layout_height="..." [...] </com.my.package.TextView_Roboto> [...] <com.my.package.TextView_Roboto> android:layout_width="..." android:layout_height="..." [...] </com.my.package.TextView_Roboto> 

    Clairo que você pode criair um layout do TextView. Um paira Pre HC, um paira HC e acima (Você terá que fazer uso das pastas layout e layout-v11). Agora você pode usair a tag <include> paira include o TextView em seu Layout. Você só precisa fazer isso, use isso então:

     if (android.os.Build.VERSION.SDK_INT >= 11){ TextView txt = (TextView) findViewById(R.id.myTxtView); } else{ TextView_Roboto txt = (TextView_Roboto) findViewById(R.id.myTxtView); } } if (android.os.Build.VERSION.SDK_INT >= 11){ TextView txt = (TextView) findViewById(R.id.myTxtView); } else{ TextView_Roboto txt = (TextView_Roboto) findViewById(R.id.myTxtView); } 

    Editair:

    Você pode usair o Roboto nativamente do Android 4.1+ assim:

     android:fontFamily="sans-serif" // roboto regulair android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.