FontAversome, pek çok web sitesinde kullanılan çok popüler bir simge araç setidir. Ücretsiz ve ücretli simgeler koleksiyonda mevcut, ancak ücretsiz versiyonunda da güzel simgeler bulabilirsiniz. Her simge unicode (& # xf17b;) ile gösterilir . Bu unicode’u, TextView’da görüntülemek için kullanırız. Normal bir TextView olduğundan, tüm metin şekillendirme özellikleri (renk, boyut, dolgu vb.) uygulanabilir.
FontAversome’u kullanabilmeniz için kütüphane dosyalarını sisteminize eklemeniz gerekmektedir. Android Studio FontAversome kütüphanesini sisteminize eklememektedir. Android Studio’ya kütüphane eklemek için implementation dizesini build.grandle dosyasındaki dependencies bloğuna eklemeniz gerekmektedir. Ekledikten sonra projeyi senkronize ettikten sonra kütüphane otomatikman eklenmektedir.
dependencies {
// font awesome
implementation 'info.androidhive:fontawesome:0.0.5'
}
Nasıl kullanılır?
FontAversome yazı tipi simgesini görüntülemenin en kolay yolu simge adını metin değeri olarak ayarlamaktır. Şimdi layout’unuza bir AppCompatTextView ekleyin ve aşağıdaki örneği projenizde deneyin. Unutmayın, aşağıdaki kod bloğu preview ekranında görünmez ise Android Studio programını yeniden başlatmanız gerekebilir.
<niximera.fontawesome.FontTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fa_calendar_check_solid"
android:textColor="@color/icon_color"
android:textSize="@dimen/icon_size"
app:solid_icon="true" />
Solid icon Koyu simgeler görüntülemenize olanak sağlar. Bu değeri true olarak atama yaparsanız koyu simgeler aktif olacaktır.
Brand icon ise marka simgelerini görüntülemenize olanak sağlar. Eğer bir marka görüntülemek istiyorsanız brand icon değerini true olarak işaretlemeniz gerekmektedir.
Font Drawable Kullanmak
Bir FontAwersome simgesini Button gibi nesnelerde kullanmak istiyorsanız FontDrawable öğesini kullanabilirsiniz. Aşağıda bir FloatingActionButton örneği görüntülenmiştir.
FloatingActionButton fab = findViewById(R.id.fab);
FontDrawable drawable = new FontDrawable(this, R.string.fa_paper_plane_solid, true, false);
// beyaz renkli bir ikon
drawable.setTextColor(ContextCompat.getColor(this, android.R.color.white));
fab.setImageDrawable(drawable);
Menülerde FontAwersome kullanımı
FontAwersome simgelerini menülerde kullanabilirsiniz. Aşağıdaki örnekte FontAversome nesnelerini menülerde görüntülenmesi için gerekli olan kod örneklendirilmiştir.
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intDrawerLayout();
}
/**
* Gezinme çekmecesi simgelerini değiştirme.
* Bu, menü öğeleri arasında dolaşmayı ve simgeler uygulamayı içerir.
*/
private void intDrawerLayout() {
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ImageView iconHeader = navigationView.getHeaderView(0).findViewById(R.id.nav_header_icon);
FontDrawable drawable = new FontDrawable(this, R.string.fa_font_awesome, false, true);
drawable.setTextColor(ContextCompat.getColor(this, android.R.color.white));
drawable.setTextSize(50);
iconHeader.setImageDrawable(drawable);
int[] icons = {
R.string.fa_home_solid, R.string.fa_calendar_alt_solid, R.string.fa_user_solid,
R.string.fa_heart_solid, R.string.fa_comment_solid, R.string.fa_dollar_sign_solid, R.string.fa_gift_solid
};
renderMenuIcons(navigationView.getMenu(), icons, true, false);
int[] iconsSubmenu = {R.string.fa_cog_solid, R.string.fa_sign_out_alt_solid};
renderMenuIcons(navigationView.getMenu().getItem(7).getSubMenu(), iconsSubmenu, true, false);
}
/**
* Looping through menu icons are applying font drawable
*/
private void renderMenuIcons(Menu menu, int[] icons, boolean isSolid, boolean isBrand) {
for (int i = 0; i < menu.size(); i++) {
MenuItem menuItem = menu.getItem(i);
if (!menuItem.hasSubMenu()) {
FontDrawable drawable = new FontDrawable(this, icons[i], isSolid, isBrand);
drawable.setTextColor(ContextCompat.getColor(this, R.color.icon_nav_drawer));
drawable.setTextSize(22);
menu.getItem(i).setIcon(drawable);
}
}
}
}
Konu ile alakalı önerilerinizi lütfen aşağıdaki yorumlar bölümüne yapınız.
GIPHY App Key not set. Please check settings