terça-feira, 5 de dezembro de 2017

Library - Android-Iconics (Fontes de Icons etc)


Seja uma Estrela no Android com a biblioteca Flexible Android-Icons.

Library (Link)


Se você é desenvolvedor de aplicativos, você saberá o problema. Você inicia um aplicativo, mas requer muitos ícones diferentes, em tamanhos diferentes ( ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi ), diferentes cores e diferentes variantes . Se você receber os ícones como vetor (.svg) ou há muitas mudanças ao longo do tempo, você sempre terá que obter os drawables corretos novamente.
Isso consome muito tempo!
Agora, há uma solução fácil, rápida e pequena para isso! biblioteca Android-Iconics .
Esta biblioteca permite que você inclua ícones vetoriais em todos os lugares do seu projeto. Nenhum limite é dado. Escala sem limite , use qualquer cor a qualquer momento, forneça um contorno e muitas personalizações adicionais ...
Use os ícones na variação que você precisa deles.
O que você ganha
  • Sem limitações de personalização (tamanho, cor, contorno, fundo, preenchimento, posicionamento, ...)
  • Suporte de sombra
  • Uma fonte de ícone (não mais mdpi, hdpi, ...)
  • Flexibilidade
    • Tamanho
    • Cores
    • Contorno
    • Sombra
  • Se for necessário Drawable, também funcionará com o IconicsDrawable!
  • Salve no tamanho APK
  • Todas as licenças incluídas, melhor usadas com AboutLibraries

Já existem fontes disponíveis
Preciso de mais? Forneça fontes adicionais para o projeto, ou mesmo crie sua fonte personalizada com apenas os ícones que você precisa.


Migração




Configuração



1. Forneça a dependência gradle


//the core iconcis library (without any widgets)
implementation "com.mikepenz:iconics-core:3.0.0@aar"
implementation "com.android.support:appcompat-v7:${supportLibVersion}"

1b. (opcional) Adicione a dependência da vista

//this adds all ui view widgets (IconicsButton, IconicsImageView, ...)
implementation "com.mikepenz:iconics-views:3.0.0@aar"

2. Escolha as fontes desejadas

implementation 'com.mikepenz:google-material-typeface:3.0.1.2.original@aar'
implementation 'com.mikepenz:material-design-iconic-typeface:2.2.0.4@aar'
implementation 'com.mikepenz:fontawesome-typeface:4.7.0.2@aar'
implementation 'com.mikepenz:octicons-typeface:3.2.0.4@aar'
implementation 'com.mikepenz:meteocons-typeface:1.1.0.4@aar'
implementation 'com.mikepenz:community-material-typeface:2.0.46.1@aar'
implementation 'com.mikepenz:weather-icons-typeface:2.0.10.4@aar'
implementation 'com.mikepenz:typeicons-typeface:2.0.7.4@aar'
implementation 'com.mikepenz:entypo-typeface:1.0.0.4@aar'
implementation 'com.mikepenz:devicon-typeface:2.0.0.4@aar'
implementation 'com.mikepenz:foundation-icons-typeface:3.0.0.4@aar'
implementation 'com.mikepenz:ionicons-typeface:2.0.1.4@aar'
implementation 'com.mikepenz:pixeden-7-stroke-typeface:1.2.0.2@aar'

3. Defina IconicsLayoutInflater para ativar a detecção automática de ícones xml (opcional)

Defina o IconicsLayoutInflaternovo como novo LayoutInflaterFactoryIsso permitirá a detecção automática de ícones para TextViewsButtonse permite que você configure ícones em ImageViewvia via xml. Isto é compatível com libs que envolvem o baseContextcomo caligrafia . Isso não funciona em FAB, por favor, use a opção em Context-Injectionvez disso. Se compileSdkVersion> = 26:
@Override
protected void onCreate(Bundle savedInstanceState) {
    LayoutInflaterCompat.setFactory2(getLayoutInflater(), new IconicsLayoutInflater2(getDelegate()));
    //...
    super.onCreate(savedInstanceState);
    //...
}
Ou:
@Override
protected void onCreate(Bundle savedInstanceState) {
    LayoutInflaterCompat.setFactory(getLayoutInflater(), new IconicsLayoutInflater(getDelegate()));
    //...
    super.onCreate(savedInstanceState);
    //...
}

3. ALTERNATIVO: Injectar no contexto (opcional)

Envolva o Activitycontexto. Isso permitirá os mesmos recursos que a Etapa 3.1., Mas não é compatível com outras libs que envolvem o baseContext.
@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(IconicsContextWrapper.wrap(newBase));
}

Usage

Use as drawable

new IconicsDrawable(this)
    .icon(FontAwesome.Icon.faw_android)
    .color(Color.RED)
    .sizeDp(24)

Use via XML

Se você usa a biblioteca Iconics via XML, forneça o ícone que deseja usar na seguinte sintaxe: gmd-favorite-> fontIdiconNameUma lista das fontes disponíveis e suas fontIdpodem ser encontradas aqui . Todos os nomes de ícones das fontes padrão podem ser encontrados através do aplicativo DEMO .

Notação dentro do texto

Use a sintaxe {icon-definer}
Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.

As ImageView (only available if you follow Step 3 or inject the context)

<ImageView
    android:layout_width="48dp"
    android:layout_height="48dp"
    app:ico_color="@color/md_red_A200"
    app:ico_icon="gmd-plus-circle"
    app:ico_size="48dp" />
    
    //other possible attributes
    //app:ico_background_color="@android:color/transparent"
    //app:ico_color="@color/md_red_100"
    //app:ico_contour_color="@android:color/transparent"
    //app:ico_contour_width="0dp"
    //app:ico_corner_radius="0dp"
    //app:ico_icon="gmd-plus-circle"
    //app:ico_offset_x="0dp"
    //app:ico_offset_y="0dp"
    //app:ico_padding="0dp"
    //app:ico_size="48dp"


Nenhum comentário:

Postar um comentário