Android 使用ViewFlipper更改InputStream中的绘图
我有一个选项卡式应用程序,它有5个选项卡。应用程序中的图像来自web调用,因此在tab1中,例如,第一个活动进行web调用,返回图像。我正在使用这个代码Android 使用ViewFlipper更改InputStream中的绘图,android,Android,我有一个选项卡式应用程序,它有5个选项卡。应用程序中的图像来自web调用,因此在tab1中,例如,第一个活动进行web调用,返回图像。我正在使用这个代码 urln = new URL("http://10.84.4.2:8083/imageFolder/General/backgroundcurved.png"); con = (HttpURLConnection) urln.openConnection(); is = con.getInputStream();
urln = new URL("http://10.84.4.2:8083/imageFolder/General/backgroundcurved.png");
con = (HttpURLConnection) urln.openConnection();
is = con.getInputStream();
curvedBG = Drawable.createFromStream(is, "CurvedBG");
is.close();
这可以很好地检索图像,并且可以对所有图像进行检索。然而,我注意到了一个我似乎无法解决的相当恼人的问题。当我从视图中翻转,然后再翻转回来时,图像大小似乎会改变
起初我认为这是一个网上图像的问题。为了证实这一点,我改变了它,使其不再是来自在线的图像,而是来自drawable文件夹中的离线图像。所以我做了这个
Drawable test;
InputStream testStream;
Resources res = getResources();
test = Drawable.createFromStream(res.openRawResource(R.drawable.backgroundcurved), "test");
(目前,我制作了这些全局变量,以便所有活动都可以调用这些图像)
然而,同样的问题也发生了。但问题变得更加奇怪。在选项卡1中,您可以访问设置屏幕,然后从该屏幕可以切换到菜单1或菜单2。如果菜单一使用了测试绘图功能,那么它可以正常工作,但是如果菜单1和菜单2都使用了这个测试绘图功能,那么如果我切换到菜单1,返回到设置,然后切换到菜单2,返回到设置,然后切换到菜单1,那么第二次访问菜单1时,绘图功能已经缩小到其大小的一半,而菜单2上的图像也可以正常工作。如果我以相反的方式操作,即再次访问菜单2、菜单1和菜单2。然后菜单2中的图像混乱,但菜单1中的图像很好
我完全不知道为什么会发生这种情况。是否有太多的页面调用同一个可绘制页面?或者这是viewflipper搞乱图像的问题
如果有人能给我指出正确的方向,我将不胜感激
编辑:
我还尝试使用此方法获取图像
public Object fetch(String address) throws MalformedURLException,
IOException
{
URL url = new URL(address);
Object content = url.getContent();
return content;
}
private Drawable ImageOperations(Context ctx, String url)
{
try
{
InputStream is = (InputStream) this.fetch(url);
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (MalformedURLException e)
{
return null;
} catch (IOException e)
{
return null;
}
}
据我所知,这将解决大小问题,但同样的问题也会出现。解决了问题,必须在每次页面加载时重置图像。解决了问题,必须在每次页面加载时重置图像