微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.text.DynamicLayout的实例源码

项目:Dash-Spinner    文件DashSpinner.java   
@Override
protected void onSizeChanged(int w,int h,int oldw,int oldh) {
    super.onSizeChanged(w,h,oldw,oldh);

    // Initialize the values;
    initializeValues();

    // Build a new Dynamic Layout with the available width since we can only provide width when the dynamic layout is created
    mDynamicLayout = new DynamicLayout(mStringBuilder,mStringBuilder,mTextPaint,w,Layout.Alignment.ALIGN_CENTER,1.0f,true);
}
项目:DVBViewerController    文件TextDrawerImpl.java   
@Override
public void draw(Canvas canvas,boolean hasPositionChanged) {
    if (shouldDrawText()) {
        float[] textPosition = getBestTextPosition();

        if (!TextUtils.isEmpty(mTitle)) {
            canvas.save();
            if (hasPositionChanged) {
                mDynamicTitleLayout = new DynamicLayout(mTitle,mPaintTitle,(int) textPosition[2],Layout.Alignment.ALIGN_norMAL,true);
            }
            canvas.translate(textPosition[0],textPosition[1]);
            mDynamicTitleLayout.draw(canvas);
            canvas.restore();
        }

        if (!TextUtils.isEmpty(mDetails)) {
            canvas.save();
            if (hasPositionChanged) {
                mDynamicDetailLayout = new DynamicLayout(mDetails,mPaintDetail,1.2f,textPosition[1] + mDynamicTitleLayout.getHeight());
            mDynamicDetailLayout.draw(canvas);
            canvas.restore();

        }
    }
}
项目:WeiboWeiBaTong    文件TextDrawerImpl.java   
@Override
public void draw(Canvas canvas,textPosition[1] + mDynamicTitleLayout.getHeight());
            mDynamicDetailLayout.draw(canvas);
            canvas.restore();

        }
    }
}
项目:yelo-android    文件TextDrawer.java   
public void draw(Canvas canvas) {
    if (shouldDrawText()) {
        float[] textPosition = getBestTextPosition();

        if (!TextUtils.isEmpty(mTitle)) {
            canvas.save();
            if (hasRecalculated) {
                mDynamicTitleLayout = new DynamicLayout(mTitle,titlePaint,true);
            }
            if (mDynamicTitleLayout != null) {
                canvas.translate(textPosition[0],textPosition[1]);
                mDynamicTitleLayout.draw(canvas);
                canvas.restore();
            }
        }

        if (!TextUtils.isEmpty(mDetails)) {
            canvas.save();
            if (hasRecalculated) {
                mDynamicDetailLayout = new DynamicLayout(mDetails,textPaint,true);
            }
            float offsetForTitle = mDynamicTitleLayout != null ? mDynamicTitleLayout.getHeight() :
                    0;
            if (mDynamicDetailLayout != null) {
                canvas.translate(textPosition[0],textPosition[1] + offsetForTitle);
                mDynamicDetailLayout.draw(canvas);
                canvas.restore();
            }

        }
    }
    hasRecalculated = false;
}
项目:System-Monitor    文件TextDrawer.java   
public void draw(Canvas canvas) {
    if (shouldDrawText()) {
        float[] textPosition = getBestTextPosition();

        if (!TextUtils.isEmpty(mTitle)) {
            canvas.save();
            if (hasRecalculated) {
                mDynamicTitleLayout = new DynamicLayout(mTitle,textPosition[1] + offsetForTitle);
                mDynamicDetailLayout.draw(canvas);
                canvas.restore();
            }

        }
    }
    hasRecalculated = false;
}
项目:android-app-framework    文件TextDrawerImpl.java   
@Override
public void draw(Canvas canvas,textPosition[1] + mDynamicTitleLayout.getHeight());
            mDynamicDetailLayout.draw(canvas);
            canvas.restore();

        }
    }
}
项目:OurDailyBread    文件TextDrawerImpl.java   
@Override
public void draw(Canvas canvas,textPosition[1] - textPosition[0]);
            mDynamicTitleLayout.draw(canvas);
            canvas.restore();
        }

        if (!TextUtils.isEmpty(mDetails)) {
            canvas.save();
            if (hasPositionChanged) {
                mDynamicDetailLayout = new DynamicLayout(mDetails,((Number) textPosition[2]).intValue(),textPosition[1] + 12 * mDensityScale + (
                    mDynamicTitleLayout.getLineBottom(mDynamicTitleLayout.getLineCount() - 1)
                            - mDynamicTitleLayout.getLineBottom(0)));
            mDynamicDetailLayout.draw(canvas);
            canvas.restore();

        }
    }
}
项目:siciyuan    文件TextDrawerImpl.java   
@Override
public void draw(Canvas canvas,textPosition[1] + mDynamicTitleLayout.getHeight());
            mDynamicDetailLayout.draw(canvas);
            canvas.restore();

        }
    }
}
项目:30-android-libraries-in-30-days    文件TextDrawer.java   
public void draw(Canvas canvas) {
    if (shouldDrawText()) {
        float[] textPosition = getBestTextPosition();

        if (!TextUtils.isEmpty(mTitle)) {
            canvas.save();
            if (hasRecalculated) {
                mDynamicTitleLayout = new DynamicLayout(mTitle,textPosition[1] + offsetForTitle);
                mDynamicDetailLayout.draw(canvas);
                canvas.restore();
            }

        }
    }
    hasRecalculated = false;
}
项目:UltimateAndroid    文件TextDrawer.java   
public void draw(Canvas canvas) {
    if (shouldDrawText()) {
        float[] textPosition = getBestTextPosition();

        if (!TextUtils.isEmpty(mTitle)) {
            canvas.save();
            if (hasRecalculated) {
                mDynamicTitleLayout = new DynamicLayout(mTitle,textPosition[1] + offsetForTitle);
                mDynamicDetailLayout.draw(canvas);
                canvas.restore();
            }

        }
    }
    hasRecalculated = false;
}
项目:math-dragon    文件TextDrawerImpl.java   
@Override
public void draw(Canvas canvas,textPosition[1] + mDynamicTitleLayout.getHeight());
            mDynamicDetailLayout.draw(canvas);
            canvas.restore();

        }
    }
}
项目:AomYim-Pantip    文件TextDrawer.java   
public void draw(Canvas canvas) {
    if (shouldDrawText()) {
        float[] textPosition = getBestTextPosition();

        for (float position : textPosition) {
            if (position < 0) {
                return;
            }
        }

        if (!TextUtils.isEmpty(mTitle)) {
            canvas.save();
            if (hasRecalculated) {
                mDynamicTitleLayout = new DynamicLayout(mTitle,textPosition[1] + offsetForTitle);
                mDynamicDetailLayout.draw(canvas);
                canvas.restore();
            }

        }
    }
    hasRecalculated = false;
}
项目:OmniSnitch    文件ShowcaseView.java   
@Override
protected void dispatchDraw(Canvas canvas) {
    if (showcaseX < 0 || showcaseY < 0 || isRedundant) {
        super.dispatchDraw(canvas);
        return;
    }

    Bitmap b = Bitmap.createBitmap(getMeasuredWidth(),getMeasuredHeight(),Bitmap.Con@R_404[email protected]_8888);
    Canvas c = new Canvas(b);

    // Draw the semi-transparent background
    c.drawColor(backColor);

    // Draw to the scale specified
    Matrix mm = new Matrix();
    mm.postScale(scaleMultiplier,scaleMultiplier,showcaseX,showcaseY);
    c.setMatrix(mm);

    // Erase the area for the ring
    c.drawCircle(showcaseX,showcaseY,showcaseRadius,mEraser);

    boolean recalculateText = makeVoidedRect() || mAlteredText;
    mAlteredText = false;

    showcase.setBounds(voidedArea);
    showcase.draw(c);

    canvas.drawBitmap(b,null);

    // Clean up,as we no longer require these items.
    try {
        c.setBitmap(null);
    } catch (NullPointerException npe) {
        // Todo why does this NPE happen?
        npe.printstacktrace();
    }
    b.recycle();
    b = null;

    if (!TextUtils.isEmpty(mTitleText) || !TextUtils.isEmpty(mSubText)) {
        if (recalculateText) {
            mBestTextPosition = getBestTextPosition(canvas.getWidth(),canvas.getHeight());
        }

        if (!TextUtils.isEmpty(mTitleText)) {
            // Todo: use a dynamic detail layout
            canvas.save();
            float width = mPaintTitle.measureText(mTitleText);
            canvas.rotate(mOrientation,mBestTextPosition[0] + width / 2.0f,mBestTextPosition[1] + mPaintTitle.getTextSize() / 2.0f);
            canvas.drawText(mTitleText,mBestTextPosition[0],mBestTextPosition[1],mPaintTitle);
            canvas.restore();
        }

        if (!TextUtils.isEmpty(mSubText)) {
            canvas.save();
            if (recalculateText)
                mDynamicDetailLayout = new DynamicLayout(mSubText,((Number) mBestTextPosition[2]).intValue(),true);

            if (mOrientation % 180 == 0) {
                canvas.translate(mBestTextPosition[0],mBestTextPosition[1]);
            } else {
                canvas.rotate(mOrientation,mDynamicDetailLayout.getWidth() / 2,mDynamicDetailLayout.getHeight() / 2);
            }

            mDynamicDetailLayout.draw(canvas);
            canvas.restore();
        }
    }

    super.dispatchDraw(canvas);
}
项目:misword@R_404_6408@hting    文件Text.java   
public void createLayout(Canvas canvas,int padding) {
    Editable.Factory fac = Editable.Factory.getInstance();
    edit = fac.newEditable(stringToShow);
    dynamicLayout = new DynamicLayout(edit,canvas.getWidth() - padding,1,true);
}
项目:misword@R_404_6408@hting    文件Text.java   
public DynamicLayout getLayout() {
    return this.dynamicLayout;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。