in , ,

Android’de Font Awesome ikonları nasıl kullanılır?

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.

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.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yazar Cem Y.

TEKNOFEST’e yerli araçlar damgasını vurdu

iOS 13 Yayınlandı! iOS 13 Nasıl Yüklenir?