Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建一个由两个视图组合而成的视图类_Java_Android_Image_Download - Fatal编程技术网

Java 创建一个由两个视图组合而成的视图类

Java 创建一个由两个视图组合而成的视图类,java,android,image,download,Java,Android,Image,Download,在我的应用程序中,我有一个屏幕,在文本旁边显示一些图像。这些图像是从internet下载的,因此在显示它们时会有一些延迟。现在,我有一个ImageView和一个ProgressBar,它们彼此重叠,当位图可用时,可以切换可见性。如果我想在其他地方使用它,有没有办法将这两个类合并成一个类来处理所有的问题 是的,有许多方法可以将小部件组合到单个自定义类中。读一读。这将帮助您决定在您的情况下使用哪种方法 解决这个问题的一种方法是,使用一个自定义视图在ondraw(Canvasn canvas)中扩展并

在我的应用程序中,我有一个屏幕,在文本旁边显示一些图像。这些图像是从internet下载的,因此在显示它们时会有一些延迟。现在,我有一个ImageView和一个ProgressBar,它们彼此重叠,当位图可用时,可以切换可见性。如果我想在其他地方使用它,有没有办法将这两个类合并成一个类来处理所有的问题

是的,有许多方法可以将小部件组合到单个自定义类中。读一读。这将帮助您决定在您的情况下使用哪种方法

解决这个问题的一种方法是,使用一个自定义视图在ondraw(Canvasn canvas)中扩展并绘制图像。这样,您的图像可以嵌入到视图中,并且您可以通过setter/resource xml文件来设置图像,从而始终使其可重用,该文件指定了自定义视图附带的属性。这是我写的一个可重用的ProgressButton,可能对您有用,它显示了我是如何做一些类似于我所描述的事情的(我认为它工作得很好):


为了清楚起见,是否要使用progressview将imageView绘制为一个漂亮的视图?一种方法是扩展progressBar并使用Rect在ondraw(Canvasn画布)中绘制图像。另一种使其可恢复的方法是将imageview和progressbar放到另一个xml文件中,并在希望将它们包含在另一个布局文件中时使用合并标记。扩展progressbar非常有效!我最初扩展了ImageView,但没有成功,但这解决了我的问题。谢谢很高兴它成功了,我将写一个答案,请你接受它,谢谢:)。