如何同时缩放html格式的图片和文字?

问:Ameer
我想用textview读取html格式的图片和文字,就需要在textview中进行缩放(zoom)操作。我知道如何对文字大小进行缩放,但是不清楚怎么让图片也实现这样的效果。

textview.setText(Html.fromHtml("text",
            new ImageGetter(), null));

private class ImageGetter implements Html.ImageGetter {

    public Drawable getDrawable(String source) {
        LevelListDrawable d = new LevelListDrawable();
        Drawable empty = getResources().getDrawable(R.drawable.ic_launcher);
        d.addLevel(0, 0, empty);
        d.setBounds(0, 0, empty.getIntrinsicWidth(),
                empty.getIntrinsicHeight());

        new LoadImage().execute(source, d);

        return d;
    }
};

    public boolean onTouchEvent(MotionEvent event) {
    if (event.getPointerCount() == 2) {
        int action = event.getAction();
        int pureaction = action & MotionEvent.ACTION_MASK;
        if (pureaction == MotionEvent.ACTION_POINTER_DOWN) {
            mBaseDist = getDistance(event);
            mBaseRatio = mRatio;
        } else {
            float delta = (getDistance(event) - mBaseDist) / STEP;
            float multi = (float) Math.pow(2, delta);
            mRatio = Math.min(1024.0f, Math.max(0.1f, mBaseRatio * multi));
            textview.setTextSize(mRatio + 13);
        }
    }
    return true;
}

int getDistance(MotionEvent event) {
    int dx = (int) (event.getX(0) - event.getX(1));
    int dy = (int) (event.getY(0) - event.getY(1));
    return (int) (Math.sqrt(dx * dx + dy * dy));
}

public boolean onTouch(View v, MotionEvent event) {
    return false;
}

我可以同时对文字和图片实现缩放吗?

原问题:zoom textview having image and text(Html content) in android

阅读 5.8k
1 个回答

答:Ameer
最终,我舍弃了TextView,选择用WebView实现了这种效果,

final String mimeType = "text/html";
final String encoding = "UTF-8";
webView.loadDataWithBaseURL("", textview, mimeType,
        encoding, "");
webView.getSettings().setBuiltInZoomControls(true);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题