Example usage for android.support.v4.provider FontsContractCompat requestFont

List of usage examples for android.support.v4.provider FontsContractCompat requestFont

Introduction

In this page you can find the example usage for android.support.v4.provider FontsContractCompat requestFont.

Prototype

public static void requestFont(final @NonNull Context context, final @NonNull FontRequest request,
        final @NonNull FontRequestCallback callback, final @NonNull Handler handler) 

Source Link

Document

Create a typeface object given a font request.

Usage

From source file:com.example.android.downloadablefonts.MainActivity.java

private void requestDownload(String familyName) {
    QueryBuilder queryBuilder = new QueryBuilder(familyName)
            .withWidth(progressToWidth(mWidthSeekBar.getProgress()))
            .withWeight(progressToWeight(mWeightSeekBar.getProgress()))
            .withItalic(progressToItalic(mItalicSeekBar.getProgress())).withBestEffort(mBestEffort.isChecked());
    String query = queryBuilder.build();

    Log.d(TAG, "Requesting a font. Query: " + query);
    FontRequest request = new FontRequest("com.google.android.gms.fonts", "com.google.android.gms", query,
            R.array.com_google_android_gms_fonts_certs);

    final ProgressBar progressBar = findViewById(R.id.progressBar);
    progressBar.setVisibility(View.VISIBLE);

    FontsContractCompat.FontRequestCallback callback = new FontsContractCompat.FontRequestCallback() {
        @Override//  www .  j  a  va  2s. c o  m
        public void onTypefaceRetrieved(Typeface typeface) {
            mDownloadableFontTextView.setTypeface(typeface);
            progressBar.setVisibility(View.GONE);
            mRequestDownloadButton.setEnabled(true);
        }

        @Override
        public void onTypefaceRequestFailed(int reason) {
            Toast.makeText(MainActivity.this, getString(R.string.request_failed, reason), Toast.LENGTH_LONG)
                    .show();
            progressBar.setVisibility(View.GONE);
            mRequestDownloadButton.setEnabled(true);
        }
    };
    FontsContractCompat.requestFont(MainActivity.this, request, callback, getHandlerThreadHandler());
}