如何同时缩放Html格式的图片

本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术,本文为大家讲解,在如何在Android中,同时缩放html格式的图片和文字。

问:Ameer

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

 

textview.setText(Html.fromHtml("text",
            newImageGetter(),null));
 
private class ImageGetter implements Html.ImageGetter{
 
    publicDrawable getDrawable(String source) {
        LevelListDrawabled = new LevelListDrawable();
        Drawableempty =getResources().getDrawable(R.drawable.ic_launcher);
        d.addLevel(0,0, empty);
        d.setBounds(0,0, empty.getIntrinsicWidth(),
                empty.getIntrinsicHeight());
 
        newLoadImage().execute(source, d);
 
        returnd;
    }
};
 
    publicboolean onTouchEvent(MotionEvent event) {
    if(event.getPointerCount() == 2) {
        intaction = event.getAction();
        intpureaction = action & MotionEvent.ACTION_MASK;
        if(pureaction == MotionEvent.ACTION_POINTER_DOWN) {
            mBaseDist= getDistance(event);
            mBaseRatio= mRatio;
        }else{
            floatdelta = (getDistance(event) - mBaseDist) / STEP;
            floatmulti = (float) Math.pow(2, delta);
            mRatio= Math.min(1024.0f, Math.max(0.1f, mBaseRatio *multi));
            textview.setTextSize(mRatio+ 13);
        }
    }
    returntrue;
}
 
int getDistance(MotionEvent event) {
    intdx = (int) (event.getX(0) - event.getX(1));
    intdy = (int) (event.getY(0) - event.getY(1));
    return(int) (Math.sqrt(dx * dx + dy * dy));
}
 
public boolean onTouch(View v, MotionEvent event) {
    returnfalse;
}

 

 

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

答:Ameer

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

final String mimeType = "text/html";
final String encoding = "UTF-8";
webView.loadDataWithBaseURL("",textview, mimeType,
        encoding,"");
webView.getSettings().setBuiltInZoomControls(true);
Donate
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2022 Peng Xiang
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信