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! A 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
- Google Material Design Icons
- Material Design Iconic Font
- Fontawesome
- Meteocons
- Octicons
- Community Material
- Weather Icons
- Typeicons
- Entypo
- Devicon
- Foundation Icons
- Ionicons
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
IconicsLayoutInflater
novo como novo LayoutInflaterFactory
. Isso permitirá a detecção automática de ícones para TextViews
, Buttons
e permite que você configure ícones em ImageView
via via xml. Isto é compatível com libs que envolvem o baseContext
como caligrafia . Isso não funciona em FAB, por favor, use a opção em Context-Injection
vez 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
Activity
contexto. 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
-> fontId
- iconName
. Uma lista das fontes disponíveis e suas fontId
podem 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