List of usage examples for android.graphics Paint getTypeface
public Typeface getTypeface()
From source file:com.taobao.weex.utils.TypefaceUtil.java
public static void applyFontStyle(Paint paint, int style, int weight, String family) { int oldStyle; Typeface typeface = paint.getTypeface(); if (typeface == null) { oldStyle = 0;/*www. j ava 2s . c om*/ } else { oldStyle = typeface.getStyle(); } int want = 0; if ((weight == Typeface.BOLD) || ((oldStyle & Typeface.BOLD) != 0 && weight == WXStyle.UNSET)) { want |= Typeface.BOLD; } if ((style == Typeface.ITALIC) || ((oldStyle & Typeface.ITALIC) != 0 && style == WXStyle.UNSET)) { want |= Typeface.ITALIC; } if (family != null) { typeface = getOrCreateTypeface(family, want); } if (typeface != null) { paint.setTypeface(Typeface.create(typeface, want)); } else { paint.setTypeface(Typeface.defaultFromStyle(want)); } }
From source file:com.cssn.samplesdk.MainActivity.java
/** * *//*w ww .j ava 2 s. c o m*/ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Util.LOG_ENABLED) { Utils.appendLog(TAG, "protected void onCreate(Bundle savedInstanceState)"); } // load the model if (savedInstanceState == null) { if (Util.LOG_ENABLED) { Utils.appendLog(TAG, "if (savedInstanceState == null)"); } mainActivityModel = new MainActivityModel(); } else { if (Util.LOG_ENABLED) { Utils.appendLog(TAG, "if (savedInstanceState != null)"); } mainActivityModel = DataContext.getInstance().getMainActivityModel(); // if coming from background and kill the app, restart the model if (mainActivityModel == null) { mainActivityModel = new MainActivityModel(); } } DataContext.getInstance().setContext(getApplicationContext()); String licenseKey = DataContext.getInstance().getLicenseKey(); // load the controller instance acuantAndroidMobileSdkControllerInstance = AcuantAndroidMobileSDKController.getInstance(this, licenseKey); if (!Util.isTablet(this)) { acuantAndroidMobileSdkControllerInstance .setPdf417BarcodeImageDrawable(getResources().getDrawable(R.drawable.barcode)); } acuantAndroidMobileSdkControllerInstance.setWebServiceListener(this); acuantAndroidMobileSdkControllerInstance.setCloudUrl("cssnwebservices.com"); acuantAndroidMobileSdkControllerInstance.setWatermarkText("Powered By Acuant", 0, 0, 30, 0); DisplayMetrics metrics = this.getResources().getDisplayMetrics(); DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int height = displaymetrics.heightPixels; int width = displaymetrics.widthPixels; int minLength = (int) (Math.min(width, height) * 0.9); int maxLength = (int) (minLength * 1.5); int left = minLength / 2 - 50; int top = maxLength / 2 - 100; Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG); Typeface currentTypeFace = textPaint.getTypeface(); Typeface bold = Typeface.create(currentTypeFace, Typeface.BOLD); textPaint.setColor(Color.WHITE); textPaint.setTextSize(50); textPaint.setTextAlign(Paint.Align.LEFT); textPaint.setTypeface(bold); Paint.FontMetrics metric = textPaint.getFontMetrics(); acuantAndroidMobileSdkControllerInstance.setInstructionText("Blink Slowly", left, top, textPaint); //acuantAndroidMobileSdkControllerInstance.setShowActionBar(false); //acuantAndroidMobileSdkControllerInstance.setShowStatusBar(false); acuantAndroidMobileSdkControllerInstance.setFlashlight(false); //acuantAndroidMobileSdkControllerInstance.setFlashlight(0,0,50,0); //acuantAndroidMobileSdkControllerInstance.setFlashlightImageDrawable(getResources().getDrawable(R.drawable.lighton), getResources().getDrawable(R.drawable.lightoff)); //acuantAndroidMobileSdkControllerInstance.setShowInitialMessage(true); //acuantAndroidMobileSdkControllerInstance.setCropBarcode(true); //acuantAndroidMobileSdkControllerInstance.setPdf417BarcodeDialogWaitingBarcode("AcuantAndroidMobileSampleSDK","ALIGN AND TAP", 10, "Try Again", "Yes"); acuantAndroidMobileSdkControllerInstance.setCanShowBracketsOnTablet(true); // load several member variables setContentView(R.layout.activity_main); layoutCards = (LinearLayout) findViewById(R.id.cardImagesLayout); layoutBackImage = (RelativeLayout) findViewById(R.id.relativeLayoutBackImage); layoutFrontImage = (RelativeLayout) findViewById(R.id.relativeLayoutFrontImage); frontImageView = (ImageView) findViewById(R.id.frontImageView); backImageView = (ImageView) findViewById(R.id.backImageView); editTextLicense = (EditText) findViewById(R.id.editTextLicenceKey); editTextLicense.setText(DataContext.getInstance().getLicenseKey()); txtTapToCaptureFront = (TextView) findViewById(R.id.txtTapToCaptureFront); txtTapToCaptureBack = (TextView) findViewById(R.id.txtTapToCaptureBack); activateLicenseButton = (Button) findViewById(R.id.activateLicenseButton); processCardButton = (Button) findViewById(R.id.processCardButton); processCardButton.setVisibility(View.INVISIBLE); editTextLicense.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { validateLicenseKey(editTextLicense.getText().toString()); DataContext.getInstance().setLicenseKey(editTextLicense.getText().toString()); return true; } }); // it is necessary to use a post UI call, because of the previous set text on 'editTextLicense' new Handler().post(new Runnable() { @Override public void run() { editTextLicense.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { mainActivityModel.setState(State.NO_VALIDATED); updateActivateLicenseButtonFromModel(); } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { } }); } }); editTextLicense.setOnFocusChangeListener(new OnFocusChangeListener() { public void onFocusChange(View v, boolean hasFocus) { if (!hasFocus) { hideVirtualKeyboard(); } } }); // update the UI from the model updateUI(); acuantAndroidMobileSdkControllerInstance.setCardCroppingListener(this); acuantAndroidMobileSdkControllerInstance.setAcuantErrorListener(this); if (Utils.LOG_ENABLED) { Utils.appendLog(TAG, "getScreenOrientation()=" + Util.getScreenOrientation(this)); } }
From source file:com.yek.keyboard.keyboards.views.CandidateView.java
/** * If the canvas is null, then only touch calculations are performed to pick * the target candidate.//from w ww . j av a 2s .com */ @Override protected void onDraw(Canvas canvas) { if (canvas != null) { super.onDraw(canvas); } mTotalWidth = 0; final int height = getHeight(); if (mBgPadding == null) { mBgPadding = new Rect(0, 0, 0, 0); if (getBackground() != null) { getBackground().getPadding(mBgPadding); } mDivider.setBounds(0, 0, mDivider.getIntrinsicWidth(), mDivider.getIntrinsicHeight()); } final int dividerYOffset = (height - mDivider.getMinimumHeight()) / 2; final int count = mSuggestions.size(); final Rect bgPadding = mBgPadding; final Paint paint = mPaint; final int touchX = mTouchX; final int scrollX = getScrollX(); final boolean scrolled = mScrolled; final boolean typedWordValid = mTypedWordValid; int x = 0; for (int i = 0; i < count; i++) { CharSequence suggestion = mSuggestions.get(i); if (suggestion == null) continue; final int wordLength = suggestion.length(); paint.setColor(mColorNormal); if (mHaveMinimalSuggestion && ((i == 1 && !typedWordValid) || (i == 0 && typedWordValid))) { paint.setTypeface(Typeface.DEFAULT_BOLD); paint.setColor(mColorRecommended); // existsAutoCompletion = true; } else if (i != 0 || (wordLength == 1 && count > 1)) { // HACK: even if i == 0, we use mColorOther when this // suggestion's length is 1 and // there are multiple suggestions, such as the default // punctuation list. paint.setColor(mColorOther); } // now that we set the typeFace, we can measure int wordWidth; if ((wordWidth = mWordWidth[i]) == 0) { float textWidth = paint.measureText(suggestion, 0, wordLength); // wordWidth = Math.max(0, (int) textWidth + X_GAP * 2); wordWidth = (int) (textWidth + mXGap * 2); mWordWidth[i] = wordWidth; } mWordX[i] = x; if (touchX != OUT_OF_BOUNDS_X_CORD && !scrolled && touchX + scrollX >= x && touchX + scrollX < x + wordWidth) { if (canvas != null && !mShowingAddToDictionary) { canvas.translate(x, 0); mSelectionHighlight.setBounds(0, bgPadding.top, wordWidth, height); mSelectionHighlight.draw(canvas); canvas.translate(-x, 0); } mSelectedString = suggestion; mSelectedIndex = i; } if (canvas != null) { // (+)This is the trick to get RTL/LTR text correct if (AnyApplication.getConfig().workaround_alwaysUseDrawText()) { final int y = (int) (height + paint.getTextSize() - paint.descent()) / 2; canvas.drawText(suggestion, 0, wordLength, x + wordWidth / 2, y, paint); } else { final int y = (int) (height - paint.getTextSize() + paint.descent()) / 2; // no matter what: StaticLayout float textX = x + (wordWidth / 2) - mXGap; float textY = y - bgPadding.bottom - bgPadding.top; canvas.translate(textX, textY); mTextPaint.setTypeface(paint.getTypeface()); mTextPaint.setColor(paint.getColor()); StaticLayout suggestionText = new StaticLayout(suggestion, mTextPaint, wordWidth, Alignment.ALIGN_CENTER, 1.0f, 0.0f, false); suggestionText.draw(canvas); canvas.translate(-textX, -textY); } // (-) paint.setColor(mColorOther); canvas.translate(x + wordWidth, 0); // Draw a divider unless it's after the hint //or the last suggested word if (count > 1 && (!mShowingAddToDictionary) && i != (count - 1)) { canvas.translate(0, dividerYOffset); mDivider.draw(canvas); canvas.translate(0, -dividerYOffset); } canvas.translate(-x - wordWidth, 0); } paint.setTypeface(Typeface.DEFAULT); x += wordWidth; } mTotalWidth = x; if (mTargetScrollX != scrollX) { scrollToTarget(); } }
From source file:com.anysoftkeyboard.keyboards.views.CandidateView.java
/** * If the canvas is null, then only touch calculations are performed to pick * the target candidate.//w w w. j av a2s . c om */ @Override protected void onDraw(Canvas canvas) { if (canvas != null) { super.onDraw(canvas); } mTotalWidth = 0; final int height = getHeight(); if (mBgPadding == null) { mBgPadding = new Rect(0, 0, 0, 0); if (getBackground() != null) { getBackground().getPadding(mBgPadding); } mDivider.setBounds(0, 0, mDivider.getIntrinsicWidth(), mDivider.getIntrinsicHeight()); } final int dividerYOffset = (height - mDivider.getMinimumHeight()) / 2; final int count = mSuggestions.size(); final Rect bgPadding = mBgPadding; final Paint paint = mPaint; final int touchX = mTouchX; final int scrollX = getScrollX(); final boolean scrolled = mScrolled; final boolean typedWordValid = mTypedWordValid; int x = 0; for (int i = 0; i < count; i++) { CharSequence suggestion = mSuggestions.get(i); if (suggestion == null) continue; final int wordLength = suggestion.length(); paint.setColor(mColorNormal); if (mHaveMinimalSuggestion && ((i == 1 && !typedWordValid) || (i == 0 && typedWordValid))) { paint.setTypeface(Typeface.DEFAULT_BOLD); paint.setColor(mColorRecommended); // existsAutoCompletion = true; } else if (i != 0 || (wordLength == 1 && count > 1)) { // HACK: even if i == 0, we use mColorOther when this // suggestion's length is 1 and // there are multiple suggestions, such as the default // punctuation list. paint.setColor(mColorOther); } // now that we set the typeFace, we can measure int wordWidth; if ((wordWidth = mWordWidth[i]) == 0) { float textWidth = paint.measureText(suggestion, 0, wordLength); // wordWidth = Math.max(0, (int) textWidth + X_GAP * 2); wordWidth = (int) (textWidth + mHorizontalGap * 2); mWordWidth[i] = wordWidth; } mWordX[i] = x; if (touchX != OUT_OF_BOUNDS_X_CORD && !scrolled && touchX + scrollX >= x && touchX + scrollX < x + wordWidth) { if (canvas != null && !mShowingAddToDictionary) { canvas.translate(x, 0); mSelectionHighlight.setBounds(0, bgPadding.top, wordWidth, height); mSelectionHighlight.draw(canvas); canvas.translate(-x, 0); } mSelectedString = suggestion; mSelectedIndex = i; } if (canvas != null) { // (+)This is the trick to get RTL/LTR text correct if (AnyApplication.getConfig().workaround_alwaysUseDrawText()) { final int y = (int) (height + paint.getTextSize() - paint.descent()) / 2; canvas.drawText(suggestion, 0, wordLength, x + wordWidth / 2, y, paint); } else { final int y = (int) (height - paint.getTextSize() + paint.descent()) / 2; // no matter what: StaticLayout float textX = x + (wordWidth / 2) - mHorizontalGap; float textY = y - bgPadding.bottom - bgPadding.top; canvas.translate(textX, textY); mTextPaint.setTypeface(paint.getTypeface()); mTextPaint.setColor(paint.getColor()); StaticLayout suggestionText = new StaticLayout(suggestion, mTextPaint, wordWidth, Alignment.ALIGN_CENTER, 1.0f, 0.0f, false); suggestionText.draw(canvas); canvas.translate(-textX, -textY); } // (-) paint.setColor(mColorOther); canvas.translate(x + wordWidth, 0); // Draw a divider unless it's after the hint //or the last suggested word if (count > 1 && (!mShowingAddToDictionary) && i != (count - 1)) { canvas.translate(0, dividerYOffset); mDivider.draw(canvas); canvas.translate(0, -dividerYOffset); } canvas.translate(-x - wordWidth, 0); } paint.setTypeface(Typeface.DEFAULT); x += wordWidth; } mTotalWidth = x; if (mTargetScrollX != scrollX) { scrollToTarget(); } }