相关疑难解决方法(0)

如何将html内容中的内嵌图像保存/读取到内部/外部内存

根据这个问题,我使用了一个自定义ImageGatter类来显示我使用Picasso从TextView中的服务器获取的图像

    public class PicassoImageGetter implements Html.ImageGetter {

    private TextView textView = null;
    Context mContext;

    public PicassoImageGetter() {

    }

    public PicassoImageGetter(TextView target, Context context) {
        textView = target;
        mContext = context;
    }

    @Override
    public Drawable getDrawable(String source) {

        BitmapDrawablePlaceHolder drawable = new BitmapDrawablePlaceHolder();
        Picasso.get().load(source).into(drawable);
        return drawable;

    }

    private class BitmapDrawablePlaceHolder extends BitmapDrawable implements com.squareup.picasso.Target {

        protected Drawable drawable;

        @Override
        public void draw(final Canvas canvas) {
            if (drawable != null) {
                drawable.draw(canvas);
            }
        }

        public void setDrawable(Drawable drawable) {
            this.drawable …
Run Code Online (Sandbox Code Playgroud)

android android-image picasso android-bitmap android-internal-storage

11
推荐指数
1
解决办法
218
查看次数

Android - 如何从资源中显示图像?

我无法显示保存在res/drawable文件夹中的图像.我使用ImageGetter来做到这一点.代码如下:

ImageGetter imageGetter3 = new ImageGetter() {                
    public Drawable getDrawable(String source) { 
        int id=0; 
        if (source.equals("smiley")) { 
            id = R.drawable.smiley; 
        } 
        Drawable d = getResources().getDrawable(id); 
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
        return d; 
    } 
};

directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n" 
           + "Sta met je rug voor de deur\n" 
           + Html.fromHtml("<img src=\"smiley\">", imageGetter3, null) + " Draai naar links\n";
Run Code Online (Sandbox Code Playgroud)

我在跑步时在屏幕上看到的是一个带有"obj"文字的小方块.那有什么不对?无法读取图像或其他内容?如何显示图片?

老实说,我用Google搜索了很多,并试图ImageGetter的其他方法为好,但他们都不似乎工作,我想这太,他们不工作:

ImageGetter imageGetter2 = new ImageGetter() { 
 public Drawable getDrawable(String source) { 
      Drawable d = null; 
      d …
Run Code Online (Sandbox Code Playgroud)

android android-image android-webview android-imageview

10
推荐指数
2
解决办法
7万
查看次数

Html.ImageGetter TextView

所以我使用ImageGetter来显示JSON博客文章中的图像.我在日志中获取了正确的源,但是当URL达到setBounds时URL会发生变化.有任何想法吗?

码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_blog_view);

    Intent intent = getIntent();
    Uri blogUri = intent.getData();
    mPost = blogUri.toString();
    mUrl = getIntent().getStringExtra("mUrl");

    TextView textView = (TextView) findViewById(R.id.scrollView1);
    textView.setText(Html.fromHtml(mPost, imgGetter, null));
}

private ImageGetter imgGetter = new ImageGetter(){
    @Override
    public Drawable getDrawable(String source){
         Drawable drawable = Drawable.createFromPath(source);
        try {
            drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
        }catch (NullPointerException e){
            logException(e);
        }
        return drawable;
    }
};
Run Code Online (Sandbox Code Playgroud)

尝试前的"来源"是

http://www.domain.com/images_blog/feature.png

但在捕获中错误是:

无法解码流:

java.io.FileNotFoundException: /http:/www.domain.com/images_blog/feature.png : open failed: ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

java android textview

10
推荐指数
2
解决办法
2万
查看次数

addOnGlobalLayoutListener和onWindowFocusChanged之间的区别?

目前我有几个视图,屏幕分为两个部分

例:

text1     image1

text2

text3

text4
Run Code Online (Sandbox Code Playgroud)

问题是,如果image1很高,它将与左侧的textview重叠,所以我用左边强制textview宽度不超过imageview的左边.

 android:layout_toLeftOf="@id/imageView1" 
Run Code Online (Sandbox Code Playgroud)

但是,每个textview都与imageview的左边对齐,因为在创建视图之前我不知道它的高度.我希望在imageview基线下面的所有textview删除布局规则android:layout_toLeftOf

所以我搜索解决方案并找到两种方法?

1.onWindowFocusChanged

2.getViewTreeObserver().addOnGlobalLayoutListener
Run Code Online (Sandbox Code Playgroud)

两者都可以获得视图的y轴.

问题是:

 1. what is the difference between them ?

 2. I tried approach 2 , but it is not working, how to fix it? 
Run Code Online (Sandbox Code Playgroud)

码:

        image.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            ImgY = image.getY();
        }
    });

    lng.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            if (lng.getY() > ImgY) {
                lng.removeRule(RelativeLayout.LEFT_OF);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

错误是我想设置一个全局值来存储imageview的y,但它警告The final local variable ImgY cannot be assigned, since …

android textview relativelayout imageview android-layout

5
推荐指数
0
解决办法
2575
查看次数