• 로그인 함 해보끄나?

  • Sarangnamu.net June 17, 2003
    Home Login Profile Study Open Project Q&A Google Code
    Font Awesome
    Last Modify : 23 March, 2018(09:10)
    https://fontawesome.com/icons?d=gallery&q=window font chart : https://fontawesome.com/cheatsheet 앱 개발시 디자이너 지원없이 개발이 필요할 때 딩벳 폰트를 이용해 아이콘을 구성하는 방법이 있다. Font Awesome 을 이용하면 되는데 일단 해당 사이트에서 필요한 아이콘을 검색해서 찾은 뒤 아래의 코드를 헤더에 입력 하고 <link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> 실제 사용은 <h4 class="card-title"><i class="fa fa-barcode text-primary"></i></h4> 이런식으로 사용 한다. fa-barcode !! 안드로이드에서도 Font Awesome 을 사용할 수 있는데 아래의 링크를 참조하면 된다. https://code.tutsplus.com/tutorials/how-to-use-fontawesome-in-an-android-app--cms-24167 설명 하자면 폰트 파일을 안드로이드에 설치 한다음 public class FontManager { public static final String ROOT = "fonts/", FONTAWESOME = ROOT + "fontawesome-webfont.ttf"; public static Typeface getTypeface(Context context, String font) { return Typeface.createFromAsset(context.getAssets(), font); } } TextView 에 폰트를 적용하면 된다. 이때 원하는 특정 아이콘 설정은 strings.xml 을 이용하여 하면 편하는데 먼저 https://fontawesome.com/icons?d=gallery&s=solid 를 참조하여 아이콘 별 주소(유니코드)를 얻어 입력 한 뒤 <resources> <string name="fa_mobile">f3cd</string> <string name="fa_bolt">f0e7</string> </resources> 또는 <resources> <!-- 이 형태로 구성하면 별도로 아래와 같이 설정할 필요 없이 R.string.fa_mobile 형태로 사용하면 된다. --> <string name="fa_mobile">&#62413;</string> <string name="fa_bolt">&#61671;</string> </resources> 이를 사용할 때는 아래와 같이 사용할 수 있다. public void setIcon(@StringRes int resid) { String rawdata = getContext().getResources().getString(resid); setIcon(rawdata); } public void setIcon(@NonNull String text) { long hex = Long.parseLong(text, 16); super.setText(new String(new char[] { (char) hex })); } xml 내에서 사용하려면 styleable 를 설정하면 되는데 value 안에 attrs.xml 을 추가 한 뒤 아래의 내용을 넣고 <declare-styleable name="dingbat"> <attr name="icon_id" format="string"/> <attr name="icon_type" format="enum"> <enum name="solid" value="1" /> <enum name="brands" value="2" /> <enum name="regular" value="3" /> </attr> </declare-styleable> TextView 를 상속한 VIew 의 생성자에 아래와 같이 설정한다. protected void initLayout(AttributeSet attrs) { @SuppressLint("CustomViewStyleable") TypedArray styled = getContext().obtainStyledAttributes(attrs, R.styleable.dingbat); int type = styled.getInteger(R.styleable.dingbat_icon_type, 1); switch (type) { case 2: font("fa-brands-400.ttf"); break; case 3: font("fa-regular-400.ttf"); break; default: font("fa-solid-900.ttf"); break; } String text = styled.getString(R.styleable.dingbat_icon_id); if (!TextUtils.isEmpty(text)) { setIcon(text); } else { // FIXME } styled.recycle(); } private void font(@NonNull String name) { Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/" + name); setTypeface(tf); }

    Comment


    입력하3 1527203487



    Locations of visitors to this page